错误:无法识别的命令行选项“-rdynamic”

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

当我使用 cmake 为 arm-none-eabi 生成交叉编译构建时,出现此错误:

... is not able to compile a simple test program
...error: unrecognized command-line option '-rdynamic'

我尝试在工具链文件中添加标志

-Wl,-export-dynamic
,但
-rdynamic
是由cmake添加的

arm-none-eabi-gcc -Wl,-export-dynamic  -rdynamic CMakeFiles/cmTC_803b3.dir/testCCompiler.c.o -o cmTC_803b3

如何删除它?

c gcc cmake makefile arm-none-eabi-gcc
1个回答
0
投票

忽略

rdynamic
部分,真正的问题是 CMake 正在尝试在您的计算机上进行编译器检查,而您的交叉编译工具链失败。这是可以预料到的,因为 ARM 编译器是为,嗯……ARM 机器而设计的,而你可能正在使用其他东西作为你的工作站。

因此请确保在工具链文件中禁用编译器检查。大多数时候,添加

set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
就足够了。

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