解决 “ cmake-tools arm-none-eabi-gcc: error: unrecognized command-line option ‘-rdynamic‘ ” 问题

问题描述

使用 vscode cmake-tools 插件进行 STM 工程构建时出现 “ error: unrecognized command-line option ‘-rdynamic’ ” 错误。但通过命令行 “ cmake …” 构建时,不会出现报错。

  • 操作系统:ubuntu
  • 文本编辑器:vscode
  • 工具链:arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-eabi
  • 构建工具:cmake

问题分析

此问题不是 CMakeLists.txt 的配置问题,因为 CMakeLists.txt 中未进行 “-rdynamic” 配置。可见此问题是 cmake-tools 插件的问题。这其实是 cmake-tools 的一个老 bug 了 详见cmake-tools-issue

参照文中的说法,这个问题产生的原因是 cmake-tools 错误调用了 /usr/share/cmake-3.22/Modules/Platform 中的 cmake 模板,并给编译器赋予了一个 "-rdynamic " 选项。

以下是 Linux-GNU.cmake 中的内容,这里设置了一个 “-rdynamic” 链接选项。

# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
# file Copyright.tx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值