STM32 ARM GCC 工具链 CMake target_compile_features 没有 CXX 编译器的已知功能

问题描述 投票:0回答:1

我们的项目使用STM32 GCC ARM工具链,使用STM32 CMake工具链文件(gcc-arm-none-eabi.cmake)将

CMAKE_C_COMPILER_ID
CMAKE_CXX_COMPILER_ID
设置为
GNU

当遇到这样的行时

target_compile_features(my_lib PUBLIC cxx_std_11)
它会抱怨......

target_compile_features no known features for CXX compiler

"GNU"

version 11.3.1.

我第一次注意到这一点是在尝试使用他们的 CMake 文件引入 Boost 时,这些文件使用相同的

target_compile_feature
检查。

CMake 项目确实针对 Linux GCC 进行配置。我的CMake版本是3.30.2.

编辑

  • 类似问题中的所有解决方案都无法解决此处描述的问题。
gcc cmake boost stm32
1个回答
0
投票
从我们的工具链文件中删除

CMAKE_C_COMPILER_FORCED

CMAKE_CXX_COMPILER_FORCED
 设置为 TRUE(完全删除这些选项)修复了上述错误。我不确定我们的项目是否添加了这些选项,或者它们是否来自 STM32 CubeMX 生成的文件。这些选项在 CMake 文档中被列为已弃用。

© www.soinside.com 2019 - 2024. All rights reserved.