提要
在STM32CubeMX更新到6.15.0版本后,增加了Starm-clang的选择项,但当使用CLion打开GCC项目后会出现如下所示报错,同时CMake构建失败。
The C compiler
"D:/{path}/arm-none-eabi-gcc.exe"
is not able to compile a simple test program.
发生原因
观察文件结构,在cmake文件夹下,新增了 starm-clang.cmake
文件,该文件同gcc-arm-none-eabi.cmake
一样,定义了CMake工具链及其编译/配置选项,但在CubeMX 6.15.0版本,生成的CmakeLists.txt同时不包含两者,致使CMake构建失败。
在最新版本的CubeMX下,两者的选定由CMakePresets.json指定
解决方案
在CmakeLists.txt中的project()
行前引用对应编译工具链的cmake文件,如
include(cmake/gcc-arm-none-eabi.cmake) include(cmake/starm-clang.cmake)