首页 文章

使用Code :: Blocks对SDL函数的未定义引用

提问于
浏览
0

关于此,有很多类似的主题,但我已经用尽了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 回答

  • 2

    SDL2中没有 SDL_WM_SetCaption . 您的代码可能使用较旧的SDL 1.2 . 使用正确的库或修改您的代码,例如https://wiki.libsdl.org/MigrationGuide

相关问题