首页 > 解决方案 > 使用cmake时如何将VS2017指向(arm-none-eabi-)gcc默认标头

问题描述

我正在尝试使用 VS2017(和 VS2019RC/preview)构建一个项目/测试 cmake,并将 arm-none-eabi-gcc 作为我的编译器。

我很难告诉 VS2017 在哪里寻找默认的 gcc 标头。

实现这一目标的正确/最简单的方法是什么?

标签: gcccmakevisual-studio-2017visual-studio-2019

解决方案


所以我有一个解决方法,很好,工作。但这绝对不是长久之计。

我所做的是直接在CMakeLists.txt'target_include_directories指令中添加了 GCC 包含路径,并且有效。像这样:

target_include_directories(
    ${ELF}
    PRIVATE
        "source"
        "source/target/arm/stm32f1/CMSIS/Device/ST/STM32F1xx/Include"
        "${tools}\\bin\\../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/include/c++/7.3.1"
        "${tools}\\bin\\../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/include/c++/7.3.1/arm-none-eabi"
        "${tools}\\bin\\../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/include/c++/7.3.1/backward"
        "${tools}\\bin\\../lib/gcc/arm-none-eabi/7.3.1/include"
        "${tools}\\bin\\../lib/gcc/arm-none-eabi/7.3.1/include-fixed"
        "${tools}\\bin\\../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/include"
)

但是,是的,没有人想要这样的解决方案。那么如果有人有更好的主意呢?


推荐阅读