首先是 总是提示你找不到 入口函数 . 新建个 console 工程,写好 int main(int argc,char* argv[]) 之后,死活 告诉你没有入口 。最后原因是因为 SDL 的头文件里 #define main SDL_main ,做了这样的 宏定义后,main函数当然就找不到了。
解决的办法:在工程/属性/链接器/高级 里面,把入口点 修改为 SDL_main 这样才能 正常跑 起来。这下算长了见识,我确实是头一次知道 编译的时候是可以 自定义 入口函数的。
其次是 明明有 SDL.lib SDLmain.lib,链接时也能找到,但是就是 告诉你 里面的函数 比如 SDL_Init() 链接错误。 最后发现是 SDL 库编译好的版本里,有 32位的 lib dll 和 64位的 lib 和 dll, 如果报这样的问题, 直接换成另一套 就能找到了。
上面遇到的两个问题,都是 在使用 SDL 1 这个库的时候遇到的 。使用 SDL2 库的时候,如果在 mac 电脑上, 直接 在 Build Phases里加上SDL2.framework,然后就没有遇到任何问题直接就能用,也遇到 没有 找不到 入口函数的问题 。