MySQL 源码编译安装报错 CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

今天编译安装mysql 5.6.27的时候报错。

执行命令:

shell> cmake . \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
> -DENABLED_LOCAL_INFILE=1 \
> -DENABLE_DOWNLOADS=1


报错信息:

-- Not building NDB
-- Performing Test HAVE_PEERCRED
CMake Error at /usr/share/cmake/Modules/CMakeCXXInformation.cmake:17 (GET_FILENAME_COMPONENT):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  CMakeLists.txt:3 (PROJECT)
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Er

  • 1
    点赞
  • 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、付费专栏及课程。

余额充值