我正在將我的遊戲從glut移植到sdl。僅包含SDL標題會導致鏈接器錯誤
它的工作完美,但我想使用一些sdl功能。
所以我進入我的項目屬性,對象標題下我點擊,將被編譯,構建階段程序,鏈接二進制與圖書館,加SDL.framework
完全相同的,因爲我已經對OpenGL做.framework和GLUT.framework
然而,當我補充一下:#include <SDL/SDL.h>
它與一個鏈接錯誤出現在當我嘗試建立:
Undefined symbols for architecture x86_64:
"_main", referenced from:
__start in crt1.o
(maybe you meant: _SDL_main)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
谷歌搜索只會導致一個公平的結果很少,但沒有真正的解釋。
我對基於Mac的開發相當陌生,甚至不知道一個.m文件是什麼,你能解釋一下如何分類這些東西嗎? – Blam
@Blam,一個.m文件是一個Objective-C文件。 Mac版本的SDL是用Objective-C編寫的。將文件SDLMain.h和SDLMain.m添加到您的項目中。它們包含您需要在Mac OS X上編譯SDL應用程序的膠合代碼。 –