强制gcc使用一个链接器而不是另一个链接器

时间:2010-08-22 00:26:55

标签: gcc linker ld dyld

最近我一直在研究OS X.在我的系统ld以某种方式gcc进入我的系统后,事情变得非常好,但现在dyld将不会使用*.dylib。此外,我的所有共享库都是mv格式,并且ld严格忽略存在。如果我PATH来自{{1}},那么gcc就会抱怨它无法找到ld。

请帮助我让gcc回到正轨并使用它应该做的事情。

4 个答案:

答案 0 :(得分:1)

您可以尝试一些gcc选项。来自man page

-c  Compile or assemble the source files, but do not link.  The linking
    stage simply is not done.  The ultimate output is in the form of an
    object file for each source file.

然后,您可以使用您想要的任何链接器显式链接。

答案 1 :(得分:1)

将符号链接ld到dyld有帮助吗?

mv /usr/bin/ld /usr/bin/ld.old
ln -s /usr/bin/dyld /usr/bin/ld

编辑:修复ld params命令

答案 2 :(得分:0)

这不是您的确切问题,但我需要切换到ld.gold,为此,gcc的-fuse-ld=gold选项非常有用。

答案 3 :(得分:-2)

查看-Xlinker选项

我是从man gcc

获得的

您可以使用-v

等一些详细选项进行仔细检查