符号未包含在编译器的命令行中

时间:2019-11-06 15:26:09

标签: eclipse stm32 stm32cubemx

我在Eclipse中构建Release配置时遇到了奇怪的问题。

  • Eclipse 2019-09 R(4.13.0)+ SW4STM32工具链。
  • 该项目由CubeMX(5.4.0)生成,使用工具链的右键单击菜单加载到Eclipse之后,项目类型从C转换为C ++。

默认的“调试”配置可以立即建立。 “发行”配置的编译器和链接器参数有问题,其中一些参数被添加了两次,从而导致调用错误。调整了一些设置后,我设法使其接近“调试”。

在Project-> Properties-> C / C ++ Build-> Settings-> MCU G ++编译器中,“所有选项”如下所示:

-mcpu=cortex-m3 -mthumb -mfloat-abi=soft -D__weak=__attribute__((weak)) -D__packed=__attribute__((__packed__)) -DUSE_HAL_DRIVER -DSTM32F103xB -I../Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc -I../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I../Drivers/CMSIS/Include -I"D:\eclipsePjt\SW4STM32_WS\libraries\Utilities" -I"D:\eclipsePjt\SW4STM32_WS\libraries\Utilities\platform\STM32F1" -Og -g -Wall -fmessage-length=0 -ffunction-sections -c -fno-exceptions -fno-rtti

与“调试”配置唯一的区别在于“ -g”标志,那里是“ -g3”。

但是,当我尝试构建项目时,它失败了,因为它没有看到MCU配置。用于运行C ++编译器的命令的比较显示,命令行中缺少所有“ -D”条目。下面是当我运行“调试”配置时的控制台输出:

Invoking: MCU G++ Compiler
D:\eclipsePjt\SW4STM32_WS\projects\can_uart\Debug
arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed=__attribute__((__packed__))' -DUSE_HAL_DRIVER -DSTM32F103xB -I"D:/eclipsePjt/SW4STM32_WS/projects/can_uart/Inc" -I"D:/eclipsePjt/SW4STM32_WS/projects/can_uart/Drivers/STM32F1xx_HAL_Driver/Inc" -I"D:/eclipsePjt/SW4STM32_WS/projects/can_uart/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy" -I"D:/eclipsePjt/SW4STM32_WS/projects/can_uart/Drivers/CMSIS/Device/ST/STM32F1xx/Include" -I"D:/eclipsePjt/SW4STM32_WS/projects/can_uart/Drivers/CMSIS/Include" -I"D:/eclipsePjt/SW4STM32_WS/libraries/Utilities" -I"D:/eclipsePjt/SW4STM32_WS/libraries/Utilities/platform/STM32F1" -Og -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fno-exceptions -fno-rtti -MMD -MP -MF"Utilities/platform/STM32F1/can_impl.d" -MT"Utilities/platform/STM32F1/can_impl.o" -o "Utilities/platform/STM32F1/can_impl.o" "D:/eclipsePjt/SW4STM32_WS/libraries/Utilities/platform/STM32F1/can_impl.cpp"

对于“发行”,此打印输出几乎相同,但开头没有这四个“ -D”。

Eclipse,SW4STM32或CubeMX是否有问题?

有什么办法可以解决这个问题?

注意:这是SW4STM32论坛上的related post

0 个答案:

没有答案