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

Undefined reference to SDL functions using Code::Blocks

SO 上有很多类似的主题,但我已经用尽了 15 个类似主题的所有建议。

根据 运行 使用 SDL 库的教程代码,IDE 抱怨 "undefined reference" 所有与 SDL 相关的函数。

情况

架构:64 位

IDE:代码块 16.01

编译器:GNU GCC

我尝试过的事情

1)我告诉编译器在目录下找到header: .....\i686-w64-mingw32\include\SDL2 使用相对路径

我没有 select \include 我也没有 select .....\x86_64-w64-mingw32\include\SDL2

2)我告诉编译器在目录下找到库文件: .....\i686-w64-mingw32\lib 使用相对路径

我没有 select ....\lib 我也没有 select .....\x86_64-w64-mingw32\lib

3) 在link下载库时,我在目录下包含了四个库 ....\i686-w64-mingw32\lib 而不是上面提到的其他目录。

4) linked 库的顺序如下:

SDL2main.lib

SDL2.lib

SDL2test.lib

5) 我确保 main.c 的属性检查了编译文件,检查了 link 文件,同时检查了属于目标调试和发布的属性。

构建日志:

-------------- Build: Debug in Snake Game (compiler: GNU GCC Compiler)---------------

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: In function SDL_main': C:/XXX/XXX/XXX/XXX/XXX/main.c:9: undefined reference toSDL_WM_SetCaption'

日志不断地引用未定义的引用。

谁能指导我解决这个 linking 问题?

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