Fedora Linux下CMake编译报错:ft2build.h缺失(已装freetype-devel)
解决Fedora下CMake编译找不到ft2build.h的问题
排查及解决步骤
确认freetype-devel的头文件位置
先执行命令查看头文件实际路径:rpm -ql freetype-devel | grep ft2build.h正常情况下会输出
/usr/include/freetype2/ft2build.h,这说明头文件不在系统默认的/usr/include根目录下。修改CMakeLists.txt添加头文件路径
有两种方式处理:- 直接添加包含目录:
include_directories(/usr/include/freetype2) - 用CMake的
find_package自动配置(更推荐):find_package(Freetype REQUIRED) include_directories(${FREETYPE_INCLUDE_DIRS}) target_link_libraries(你的应用目标名 ${FREETYPE_LIBRARIES})
替换
你的应用目标名为实际的CMake目标名称。- 直接添加包含目录:
清理CMake缓存重新编译
之前生成的CMake缓存可能没更新,执行以下命令重置:rm -rf CMakeCache.txt CMakeFiles/ cmake . make重新安装freetype-devel(可选)
如果以上步骤都无效,可能是包安装不完整,重新安装:sudo dnf reinstall freetype-devel
内容的提问来源于stack exchange,提问作者Dimon
相关产品推荐
相关产品推荐

