CMake Error at CMakeLists.txt:3 (project): No CMAKE_CXX_COMPILER could be found. Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH.
时间: 2023-06-20 12:05:13 浏览: 470
这个错误提示是因为 CMake 找不到 C++ 编译器。你需要安装 C++ 编译器(例如 g++),然后将其添加到环境变量 PATH 中。
如果已经安装了 C++ 编译器,可以尝试手动设置 CMake 的编译器路径。可以通过以下方式在 CMakeLists.txt 文件中添加:
```cmake
set(CMAKE_CXX_COMPILER "/path/to/g++")
```
将 `/path/to/g++` 替换为实际的编译器路径,然后重新运行 CMake。
相关问题
(base) lmj@lmj-Ubuntu:/opt/sdk.20230309/horus_sdk_release/build$ sudo cmake ../ -- cmake version 3.22.1 CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. -- The C compiler identification is unknown -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:11 (project): The CMAKE_C_COMPILER: arm-linux-gnueabihf-gcc is not a full path and was not found in the PATH. Tell CMake where to find the compiler by setting either the environment variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. CMake Error at CMakeLists.txt:11 (project): The CMAKE_CXX_COMPILER: arm-linux-gnueabihf-g++ is not a full path and was not found in the PATH. Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. -- Configuring incomplete, errors occurred! See also "/opt/sdk.20230309/horus_sdk_release/build/CMakeFiles/CMakeOutput.log". See also "/opt/sdk.20230309/horus_sdk_release/build/CMakeFiles/CMakeError.log".
根据你提供的错误信息,看起来 CMake 在配置项目时无法找到 C 和 C++ 编译器。这可能是由于缺少路径或编译器未正确安装所致。你可以尝试以下解决方法:
1. 确保你已经正确安装了 `arm-linux-gnueabihf-gcc` 和 `arm-linux-gnueabihf-g++` 编译器。你可以通过在终端中运行 `arm-linux-gnueabihf-gcc --version` 和 `arm-linux-gnueabihf-g++ --version` 来检查它们是否已安装。
2. 如果编译器已正确安装,但仍然无法找到,请尝试使用绝对路径设置环境变量 `CC` 和 `CXX`。例如,如果编译器的完整路径为 `/path/to/arm-linux-gnueabihf-gcc` 和 `/path/to/arm-linux-gnueabihf-g++`,你可以在终端中运行以下命令:
```
export CC=/path/to/arm-linux-gnueabihf-gcc
export CXX=/path/to/arm-linux-gnueabihf-g++
```
然后再次运行 `sudo cmake ../`。
3. 如果以上方法仍然无效,你可以尝试编辑 CMakeLists.txt 文件,在文件开头添加以下内容,指定编译器的完整路径:
```
set(CMAKE_C_COMPILER "/path/to/arm-linux-gnueabihf-gcc")
set(CMAKE_CXX_COMPILER "/path/to/arm-linux-gnueabihf-g++")
```
然后保存文件并再次运行 `sudo cmake ../`。
希望这些方法能够解决你的问题。如果你有任何其他疑问,请随时提问。
CMake Error at CMakeLists.txt:396 (MESSAGE): Or you can set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER explicitly.
这个错误提示显示在 CMakeLists.txt 文件的第 396 行,提示你需要设置 CMAKE_C_COMPILER 和 CMAKE_CXX_COMPILER。
CMAKE_C_COMPILER 和 CMAKE_CXX_COMPILER 分别是 C 和 C++ 编译器的路径。这些变量通常由 CMake 自动检测和设置,但如果 CMake 没有正确检测到编译器的路径,就会出现这个错误。
你可以通过在执行 cmake 命令时显式设置这些变量来解决这个问题。例如:
```
cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ /path/to/source
```
其中,/usr/bin/gcc 和 /usr/bin/g++ 分别是 C 和 C++ 编译器的路径,/path/to/source 是 MySQL 的源代码路径。
你可以根据你的实际情况修改上述命令中的路径。执行完这个命令后,再次执行 make 命令进行编译即可。
阅读全文