栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

Cmake编译遇到的坑以及解决办法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Cmake编译遇到的坑以及解决办法

1. 报错:CMake Error: install(EXPORT “glog-targets” …) includes target “glog” which requires target “gflags_nothreads_static” that is not in any export set.

参考:解决方法

在CMakeLists.txt里面添加,因为我已经存在,不需要创建,所以可以去掉创建静态库这个命令:

# 创建静态库
add_library(fse_cas_static STATIC ${_SOURCE_FILES})
# 创建interface libraries
add_library(not_exported INTERFACE)
target_link_libraries(fse_cas_static PRIVATE not_exported)

# 安装脚本,生成导出文件fse-targets.cmake
install(TARGETS fse_cas_static EXPORT fse-targets DESTINATION lib)
# 安装导出文件fse-targets.cmake
install(EXPORT fse-targets DESTINATION lib/cmake/Exp)

2.报错:编译安装报错unrecognized command line option “-std=c++14” 无法识别的命令行选项“-std=c++14” 的解决办法

解决参考办法
这是因为gcc++的版本不匹配,一般要将gcc+版本升级
可以用gcc --version来查询当前版本

注意:如果你的库里面有好几个版本的gcc,可以选择对应的版本,然后添加到环境变量中:

vim ~./bashrc

export PATH=/mnt/lustre/share/gcc/gcc-5.3.0/bin:$PATH
export LD_LIBRARY_PATH=/mnt/lustre/share/gcc/gcc-5.3.0/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/mnt/lustre/share/gcc/gcc-5.3.0/lib64:$LD_LIBRARY_PATH

#不要忘记这一步
source ~./bashrc
#查看gcc版本
gcc --version

#编译CMakeLists.txt
cmake -D CMAKE_CXX_COMPILER=/to/your/path/bin/g++ ..

3.报错:CMake Error at fc_base/gflags-src/CMakeLists.txt:282 (message): Do not know how to define a 32-bit integer quantity on your system
这是编码格式出现了问题
在cmake编译的时候加上这个 -DINTTYPES_FORMAT:STRING=C99命令

cmake -DINTTYPES_FORMAT:STRING=C99 ../
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号