CentOS/RHEL下CMake默认安装到lib64如何改为lib解决Triton编译报错
解决方案
你只需要在主项目的CMakeLists.txt最开头(project声明之前)添加全局配置即可,所有遵循CMake官方安装规则的子模块/第三方依赖都会自动继承该配置,无需逐个修改子仓库代码:
- 强制指定库文件安装目录为
lib
添加如下配置覆盖CentOS/RHEL默认的lib64规则,后续所有编译产物的cmake配置文件都会自动安装到${CMAKE_INSTALL_PREFIX}/lib/cmake路径下:
set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Libraries installation directory" FORCE)
- 可选:兼容系统已安装在
lib64路径下的依赖
如果你不想修改已安装的系统依赖路径,只需要额外添加全局搜索路径,CMake会自动扫描lib64下的cmake配置文件,避免找不到依赖报错:
list(APPEND CMAKE_SYSTEM_PREFIX_PATH /usr/lib64/cmake /usr/local/lib64/cmake)
临时验证方法
如果不想直接修改CMakeLists.txt,可以在执行cmake配置命令时直接传参验证效果:
cmake .. -DCMAKE_INSTALL_LIBDIR=lib
内容的提问来源于stack exchange,提问作者MaGi
相关产品推荐
相关产品推荐

