我一直在試圖在我的Mac(10.5)上構建logstalgia項目(http://code.google.com/p/logstalgia/)。我沒有正確地將它鏈接到系統庫,而是將所有依賴關係構建並添加到項目中。我對此很陌生,但我確實認爲自己做得對,主要是因爲我有兩位經驗豐富的朋友這麼說。未定義的符號_main當試圖在mac上構建logstalgia
添加框架刪除了所有的編譯錯誤,但我仍然收到鏈接錯誤。它似乎無法找到main()函數。我已經驗證了我將main.cpp包含在要編譯的源代碼中(使用XCode),並且沒有意外的雙重聲明。我也驗證了主函數是正確聲明的(沒有丟失括號等)。
這就好像XCode沒有以正確的順序鏈接。任何幫助將非常感激,我真的很高興能下降到一個單一的錯誤! (希望解決這個問題不會打開水閘)。
感謝, 漢密爾頓
PS - 我可以肯定地提供的Xcode項目的zip如果有人願意看!
Checking Dependencies
Ld "/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled/build/Debug/Untitled" normal i386
cd "/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled"
setenv MACOSX_DEPLOYMENT_TARGET 10.5
/developer/usr/bin/g++-4.0 -arch i386 -isysroot /developer/SDKs/MacOSX10.5.sdk "-L/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled/build/Debug" -L/sw/lib "-L/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled/../../pcre-7.9/.libs" -L/opt/local/lib -L/sw/lib "-F/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled/build/Debug" -F/Users/hamiltont/Downloads/logstalgia-0.9.2 -F2/src/SDL.framework "-F/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled" -filelist "/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled/build/Untitled.build/Debug/Untitled.build/Objects-normal/i386/Untitled.LinkFileList" -mmacosx-version-min=10.5 -framework OpenGL -lpcre -lSDL -lSDL_image-1.2.0 -prebind -o "/Users/hamiltont/Downloads/logstalgia-0.9.2 2/Untitled/build/Debug/Untitled"
Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
PS - 類似的帖子: http://stackoverflow.com/questions/1494407/undefined-symbol-main-when-trying-to-build-shared-library-g-mac(不是試圖建立一個共享庫) http://stackoverflow.com/questions/550455/compile-error-undefined-symbols-main-referenced-from-start-in-crt1-10-5-o(可能同樣的問題,我自己,但我不不知道如何驗證) – Hamy 2009-10-08 21:58:31