我想调查一下为什么会出现这个错误:
。
$ cmake ..
-- The C compiler identification is unknown
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /cygdrive/c/Users/Ycr/Home/bin/arm-none-eabi-gcc
-- Check for working C compiler: /cygdrive/c/Users/Ycr/Home/bin/arm-none-eabi-gcc -- broken
CMake Error at /usr/share/cmake-3.6.2/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "/cygdrive/c/Users/Ycr/Home/bin/arm-none-eabi-gcc" is not
able to compile a simple test program.
很遗憾,在出现错误后:
- 我不知道CMake做了什么,也没有执行命令的详细日志记录。
- 在错误发生后,
CMakeFiles/cmTC_e4aa4.dir
已被清除,我无法自行探索问题。
如何调查这种错误呢?
我尝试使用--debug-trycompile
选项。这次CMake创建了一个CMakeTmp
文件夹,在没有错误的情况下完美完成。但是,我仍然有这个生成错误的CMakeFiles/cmTC_e4aa4.dir
,即使使用该选项,CMake也会取消链接该文件夹。
CMakeFiles\CMakeError.log
文件并检查其中的错误信息。 - FlorianCMakeError.log
里面写了什么?再看一遍你的错误信息,这个编译器没有 工具链文件或者切换到静态库链接是行不通的(它无法编译可执行文件)。关于解决方案,请参见例如 如何部分禁用cmake C/C++自定义编译器检查。 - Florian