记录:Compiler: CMAKE_CXX_COMPILER-NOTFOUND

我的环境

1.docker容器-centos8

目的

源码编译安装安装hh-suite

报错类型

命令行报错:

The CXX compiler identification is unknown

CMakeError文件记录:

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: CMAKE_CXX_COMPILER-NOTFOUND
Build flags:
Id flags: --ec++

The output was:
No such file or directory

解决办法

yum -y install gcc-c++
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段CMake代码用于配置C++编译器的标和其他编译选项。让我来行解释它的意义: 1.set(CMAKE_VERBOSE_MAKEFILE "true")`这一行设置了生成详细的构信息,使得构建过程中的细输出可见。 2. `include(CCXXCompilerFlag)`:这行代码用于包一个CMake模块,模块用于检C++编译器是否支持定的编译器标志。 3. `CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)`:这行代码检查C++编译器是否支持`-std=c++11`编译器志。 4. `CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)`:这行代码检查C++编译器是否支持`-std=c++0x`编译器标志。通常情况下,`-std=c++11`更常用。 5. `if (COMPILER_SUPPORTS_CXX11)`:这行代码检查变量`COMPILER_SUPPORTS_CXX11`的值是否为真,即检查编译器是否支持C++11标准。 6. `set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")`:如果编译器支持C++11标准,将变量`CMAKE_CXX_FLAGS`设置为`-std=c++11`,将C++标准设置为C++11。 7. `elseif (COMPILER_SUPPORTS_CXX0X)`:如果编译器不支持C++11标准,检查变量`COMPILER_SUPPORTS_CXX0X`的值是否为真,即检查编译器是否支持C++0x标准。 8. `set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")`:如果编译器支持C++0x标准,将变量`CMAKE_CXX_FLAGS`设置为`-std=c++0x`,将C++标准设置为C++0x。 9. `else()`:如果编译器既不支持C++11标准,也不支持C++0x标准,则执行以下代码块。 10. `message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")`:输出一条错误信息,指示使用了不支持C++11标准的编译器,请使用其他支持C++11的编译器。 11. `set(ADDITIONAL_CXX_FLAG "-Wall -O3 -march=native")`:将变量`ADDITIONAL_CXX_FLAG`设置为一组额外的编译选项,包括启用所有警告(`-Wall`)、最高级别的优化(`-O3`)和本地CPU体系结构优化(`-march=native`)。 12. `set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ADDITIONAL_CXX_FLAG}")`:将变量`CMAKE_CXX_FLAGS`添加到额外的编译选项,以便编译器在构建过程中使用这些选项。 总而言之,这段CMake代码的目的是检查编译器是否支持C++11标准,如果支持,则将C++标准设置为C++11,并添加一组额外的编译选项。如果编译器不支持C++11标准,则输出错误信息并建议使用其他支持C++11的编译器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值