CMake Error: your CXX compiler: "" was not found

 
  
[root@amax src]# cmake .
-- The CXX compiler identification is unknown
CMake Error at /usr/local/share/cmake-2.6/Modules/CMakeCXXInformation.cmake:17 (GET_FILENAME_COMPONENT):
get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
CMakeLists.txt:1 (PROJECT)
CMake Error: your CXX compiler: "" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Configuring done
删除之前生前的CMakeCache.txt,重新cmake .




转载于:https://www.cnblogs.com/hiSunshine/p/5712360.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误是因为在使用CMake构建项目时,没有设置C和C++编译器。可以通过在CMakeLists.txt文件中添加以下代码来解决这个问题: ``` enable_language(C) enable_language(CXX) ``` 这将启用C和C++编译器,并允许CMake构建项目。 ### 回答2: cmake是一个工具,可以用来自动生成makefile文件,它能够自动分析源代码,并生成相应的Makefile文件,以便于编译代码。在使用cmake的过程中,有时会遇到一些错误,例如在使用enable_language时,会出现"cmake_c_compiler not set”和“cmake_cxx_compiler not set”的错误,这是因为需要手动设置编译器。 要解决这个问题,我们需要知道cmake的工作过程以及相关的环境变量和参数。首先,要设置编译器,通常需要在CMakeLists.txt文件中添加以下代码: ``` set(CMAKE_C_COMPILER gcc) set(CMAKE_CXX_COMPILER g++) ``` 其中,CMAKE_C_COMPILER表示C编译器,CMAKE_CXX_COMPILER表示C++编译器,gcc和g++都是常用的编译器。这些代码会将编译器设置为gcc和g++,但是如果你使用其他的编译器,则需要相应地更改。 在上述代码中,我们使用了set命令来设置变量,CMake会通过这些变量来调用相应的编译器。这样,当使用enable_language设置语言时,cmake就会知道要使用哪个编译器来编译代码。 除了编译器的设置以外,我们还需要确保编译器已经安装并正确配置好了环境变量,可以在终端输入命令“gcc -v”和“g++ -v”来检查一下编译器是否正常启动。如果编译器未安装或配置不正确,则需要先安装或重新配置。 总之,在使用cmake过程中,如果出现“cmake_c_compiler not set”和“cmake_cxx_compiler not set”的错误,需要手动设置编译器并确保编译器已正确安装和配置环境变量。 ### 回答3: 在使用CMake进行编译时,出现“cmake_c_compiler未设置”和“cmake_cxx_compiler未设置”的错误提示,通常这是由于CMake没有正确地检测到编译器导致的。为了解决这个问题,我们需要进行如下操作: 第一步:确定正确的编译器 在使用CMake之前,我们需要确定正确的C编译器和C++编译器。我们可以在终端中使用以下命令查看系统中已经安装的编译器: $ gcc --version $ g++ --version 如果我们没有安装任何编译器,那么我们需要先安装一个适合我们的操作系统的编译器。在Linux中,我们可以使用apt-get命令来安装编译器: $ sudo apt-get install gcc $ sudo apt-get install g++ 在Windows中,我们可以下载并安装所需的编译器,例如MinGW。 第二步:配置CMake 一旦我们确认了编译器,我们就需要告诉CMake正确的路径。我们可以在CMakeLists.txt文件中添加以下行: set(CMAKE_C_COMPILER path/to/c/compiler) set(CMAKE_CXX_COMPILER path/to/c++/compiler) 例如,对于GCC编译器,以下是示例: set(CMAKE_C_COMPILER /usr/bin/gcc) set(CMAKE_CXX_COMPILER /usr/bin/g++) 这样做将确保CMake使用正确的编译器来编译代码。 第三步:使用enable_language指令 在CMakeLists.txt文件中,我们可以使用enable_language指令,以确保CMake检测到正确的编译器。我们可以使用以下指令启用C编译器和C++编译器: enable_language(C) enable_language(CXX) 这将告诉CMake使用我们预期的编译器进行编译。 总结: 要解决“cmake_c_compiler未设置”和“cmake_cxx_compiler未设置”的问题,我们需要先确认系统中是否安装了正确的编译器,并配置CMake以正确地识别它们。使用enable_language指令可以确保CMake使用正确的编译器进行编译。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值