2

使用 gcc 或 clang 在 Cygwin 上编译后,ld 抱怨

/usr/bin/ld: warning: --export-dynamic is not supported for PE+ targets, did you mean --export-all-symbols?

按照建议更改链接器标志可修复此行为,但我不确定这是否正确。因此问题很简单:

--export-dynamic和有什么区别--export-all-symbols

4

1 回答 1

1

--export-dynamic适用于 ELF 目标:

请注意,此选项特定于 ELF 目标端口。PE 目标支持从 DLL 或 EXE 中导出所有符号的类似功能;请参阅下面的“<code>--export-all-symbols”的描述。

--export-all-symbols适用于 PE 目标:

此选项特定于链接器的 i386 PE 目标端口

可能可以将两者都包含在--export-dynamic(因为首先存在),但是实现完全不同,并且这泄露到了ld命令行界面。

于 2020-02-29T12:39:39.150 回答