如何正确链接SDL相关库,解决GCC编译SDL代码的链接报错问题
问题原因
当前编译命令未链接SDL2相关依赖库,编译器无法定位SDL2系列函数的实现符号,因此触发链接报错。
正确编译方式
你代码中引入了SDL2核心库和SDL2_image扩展库,对应两种编译写法:
- 自动获取参数写法(推荐,适配不同系统的库路径配置):
gcc -o test test.cpkg-config --cflags --libs sdl2 SDL2_image``
pkg-config工具会自动输出对应库的头文件路径、链接参数,无需手动配置。 - 手动写参数写法:
gcc -o test test.c -lSDL2 -lSDL2_image
注意:链接库的参数必须放在编译命令的末尾、源文件之后,放在源文件之前会导致链接失效
附加说明
你注释段的代码存在笔误:SDL_Quit;缺少函数调用括号,正确写法为SDL_Quit();,否则不会执行SDL资源释放逻辑。
内容的提问来源于stack exchange,提问作者Evandro Filipe
相关产品推荐
相关产品推荐

