You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 14:52:40