【问题标题】:Compiling C++ file with CMAKE (Unrecognized '-rdynamic')使用 CMAKE 编译 C++ 文件(无法识别的“-rdynamic”)
【发布时间】:2016-03-27 21:32:48
【问题描述】:

我正在尝试将单个 C++ 文件添加到工作中的 CMAKE 项目中。

当我在项目中只有 C 文件时,项目构建良好。但是,只要我将 cpp 文件添加到 CMakeLists.txtADD_EXECUTABLE 部分,我就会收到以下错误:arm-none-eabi-gcc: error: unrecognized command line option '-rdynamic'

有人知道这里会发生什么吗?或者我能做些什么来解决它?

非常感谢您的帮助!

PS - 我在CMakeLists.txt 的顶部有一个部分,上面写着SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # get rid of -rdynamic,但它似乎没有这样做。

【问题讨论】:

  • 您是否尝试在谷歌上搜索此错误消息?另外,编译器arm-none-eabi-gcc 是否用于交叉编译?如果是这样,问题可能是您的工具链文件没有提供 CMake 所需的所有信息。
  • 是的,我尝试用谷歌搜索该消息,但没有发现任何有用的信息。是的,编译器可以交叉编译。一切正常,直到我包含一个 cpp 文件。
  • 那么请给我们更多关于您的环境和代码的信息:这是 Linux 还是 MinGW? CMakeLists.txt 以最简单的形式 (mcve),工具链文件。

标签: c++ linker cmake arm


【解决方案1】:

检查 armgcc.cmake(或等效项)。我在那里找到了一个名为 CMAKE_SYSTEM_NAME 和 CMAKE_SYSTEM 的字段。这些需要重命名为“通用”。这解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多