关于此,有很多类似的主题,但我已经用尽了15个类似线程的所有建议 .
在使用SDL库运行教程代码时,IDE抱怨所有与SDL相关的函数都有“未定义的引用” .
Situation
架构:64位
IDE:CodeBlocks 16.01
编译器:GNU GCC
What I have tried to do
1)我告诉编译器在目录下找到头文件:..... \ i686-w64-mingw32 \ include \ SDL2使用相对路径
我没有选择\ include NOR我选择了..... \ x86_64-w64-mingw32 \ include \ SDL2
2)我告诉编译器在目录下找到库文件:..... \ i686-w64-mingw32 \ lib使用相对路径
我没有选择.... \ lib NOR我选择了..... \ x86_64-w64-mingw32 \ lib
3)链接库时,我在目录.... \ i686-w64-mingw32 \ lib下包含了四个库,而不是上面提到的其他目录 .
4)图书馆的链接顺序如下:
SDL2main.lib
SDL2.lib
SDL2test.lib
5)我确保main.c的属性是这样的,检查编译文件,检查链接文件,并检查目标调试和释放中的属性 .
Build log:
-------------- Build:Snake Game中的调试(编译器: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 \ Debug \ main.o:在函数SDL_main'中:C:/ XXX / XXX / XXX / XXX / XXX /main.c:9:未定义的引用toSDL_WM_SetCaption'
日志继续使用未定义的引用 .
任何人都可以指导我解决这个链接问题吗?
1 回答
SDL2中没有
SDL_WM_SetCaption
. 您的代码可能使用较旧的SDL 1.2 . 使用正确的库或修改您的代码,例如https://wiki.libsdl.org/MigrationGuide