Windows 11环境下如何编译包含SDL2_TTF的C项目?
调整SDL2项目编译配置以支持SDL2_TTF
1. 准备SDL2_TTF文件
- 下载MinGW64兼容的64位SDL2_TTF库文件(需与你当前使用的SDL2位数一致)
- 解压后,将库的
include/SDL2/SDL_ttf.h文件复制到你项目中SDL2的include目录(比如./SDL2/include/SDL2);或者单独保留SDL2_TTF的include目录,后续编译时添加路径 - 将库的
lib/libSDL2_ttf.a和lib/libSDL2_ttf.dll.a复制到SDL2的lib目录;或者单独保留SDL2_TTF的lib目录,后续编译时添加路径
2. 修改编译CFLAGS环境变量
在原有的CFLAGS基础上,添加SDL2_TTF的链接库,同时根据文件存放方式调整include和lib路径:
- 如果已将SDL2_TTF的文件整合到SDL2的include/lib目录:
set CFLAGS=-IC:/path/to/SDL2/include -Wall -lmingw32 -lSDL2main -lSDL2 -lSDL2_ttf -LC:/path/to/SDL2/lib - 如果单独存放SDL2_TTF(比如在项目目录下的
SDL2_ttf文件夹):set CFLAGS=-IC:/path/to/SDL2/include -IC:/path/to/SDL2_ttf/include -Wall -lmingw32 -lSDL2main -lSDL2 -lSDL2_ttf -LC:/path/to/SDL2/lib -LC:/path/to/SDL2_ttf/lib注意:库的链接顺序不能乱,
-lmingw32必须在最前,-lSDL2_ttf要放在-lSDL2之后(因为SDL2_TTF依赖SDL2)
3. 保持编译命令不变
修改CFLAGS后,原编译命令无需调整:
gcc src/*.c %CFLAGS% -mwindows -o build/main
4. 复制SDL2_TTF动态库到运行目录
将SDL2_TTF解压包中的SDL2_ttf.dll文件复制到你的build文件夹,与已有的SDL2.dll放在一起,确保程序运行时能加载动态库。
内容的提问来源于stack exchange,提问作者Priff13
相关产品推荐
相关产品推荐

