我正在将我的游戏从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应用程序的胶合代码。 –