The C Compiler is not able to compile a simple test program问题

在使用arm-none-eabi-gcc.exe进行交叉编译时,cmake提示报错。此时编译器路径正确,构建器选择正确。但是还是报错not able to compile a simple test program

问题分析

这是由于Cmake会对编译器进行自检来测试编译器能否使用,但是其默认标准是编译一个可执行文件并运行是否正确。但是在交叉编译的情况下,我们编译的结果是不能直接运行的,因此需要想办法跳过检查。

解决方法

常规解决方法是在使用project()前调用set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")。这样就不会去编译一个可执行文件。

参考回答

CMake: The C Compiler is not able to compile a simple test program