如何告诉g++链接器允许符号的多个定义(选择第一个外观)?


-zmuldefsg++无法识别-z OPTION选项。正确的参数是什么?是否有可能?

最佳答案

没有“g++的链接器”之类的东西,它使用系统自己的链接器。

要将选项从GCC传递到链接器,您需要使用GCC的-Wl,-Xlinker选项:



所以你会想用

-Xlinker -z -Xlinker multidefs

或者
-Wl,-z,multidefs

但您引用的文档说您还必须使用-b svr4才能使用该选项,例如
-Wl,-b,svr4,-z,multidefs

编辑:从您的评论中,我看到您正在使用darwin链接器的Mac OS X上,其man page显示相应的选项已过时:

10-08 08:17