【发布时间】:2017-01-24 01:30:06
【问题描述】:
关于这个,关于 SO 有很多类似的主题,但我已经用尽了关于 15 个类似主题的所有建议。
在使用 SDL 库运行教程代码时,IDE 抱怨对与 SDL 相关的所有函数的“未定义引用”。
情况
架构:64 位
IDE:代码块 16.01
编译器:GNU GCC
我尝试过的事情
1) 我告诉编译器在目录下查找头文件: .....\i686-w64-mingw32\include\SDL2 使用相对路径
我没有选择 \include 也没有选择.....\x86_64-w64-mingw32\include\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 的属性是这样的:编译文件被检查,链接文件被检查,并且目标中的属于 debug 和 release 都被检查。
构建日志:
-------------- Build: Debug in Snake Game (编译器: 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:在函数
SDL_main': C:/XXX/XXX/XXX/XXX/XXX/main.c:9: undefined reference toSDL_WM_SetCaption'
日志继续使用未定义的引用。
谁能指导我解决这个链接问题?
【问题讨论】:
-
什么编译器? MinGW?
-
请包含 code::blocks: 命令和输出提供的完整链接跟踪。
-
@HolyBlackCat GNU GCC
-
那是什么操作系统?窗户?
-
@HolyBlackCat 是的
标签: c sdl codeblocks static-linking