关于这方面,SO上有相当多的类似主题,但我已经用完了15个类似线程的所有建议。使用Code :: Blocks的未定义的SDL函数引用
在运行使用SDL库的教程代码时,IDE抱怨所有与SDL有关的功能都是“未定义参考”。
形势
体系结构:64位
IDE:代码块16.01
编译器:GNU GCC
我试图做
1)I告诉编译器在目录下查找标题: ..... \ i686的-W64-的mingw32 \包括使用\ SDL2相对路径
我没有选择\包括我也没有选择..... \ x86_64的-W64-的mingw32 \包括\ SDL2
2)我告诉编译器找到目录下的库文件: ..... \ i686的-W64-的mingw32 \使用相对路径的lib
我没有选择.... \ lib中我也没有选择..... \ x86_64-w64-mingw32 \ lib
3)当链接库时,我在目录 .... \ i686-w64-mingw32下包含了四个库\ lib而不是上面提到的其他目录。
4),在该文库中链接的顺序如下:
SDL2main.lib
SDL2.lib
SDL2test.lib
5)本人保证属性的main.c是这样的:编译文件被检查,链接文件被检查,并且目标调试和释放中的属性都被检查。
生成日志:
--------------构建:调试中贪吃蛇游戏(编译:GNU GCC编译)-------- -------
mingw32-g ++。exe -L ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686-w64-mingw32 \ lib -o“bin \ Debug \ Snake Game.exe”obj \ Debug \ main.o -lmingw32 ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686- w64-mingw32 \ lib \ libSDL2main.a ...... \ Downloads \ SDL2-devel-2.0.4-mingw \ SDL2-2.0.4 \ i686-w64-mingw32 \ lib \ libSDL2.a OBJ \调试\ main.o:在功能
SDL_main': C:/XXX/XXX/XXX/XXX/XXX/main.c:9: undefined reference to
SDL_WM_SetCaption”
日志的推移和未定义的引用。
任何人都可以指导我解决这个链接问题吗?
什么编译器? MinGW的? – HolyBlackCat
请包含由code :: blocks:命令和输出提供的完整链接跟踪。 –
@HolyBlackCat GNU GCC –