如何启用Gold链接器?

时间:2015-06-03 13:36:29

标签: android-ndk linker gold-linker

我记得当将Gold链接器引入NDK时,有关于如何切换到它的说明。但现在我无法在文档中的任何位置找到该信息。那么,为了使用Application.mk链接器,我应该为gold添加什么?

我试过这个标志: APP_LDFLAGS += -fuse-ld=gold --threads

并抛出此错误:

  

arm-linux-androideabi-g ++:错误:无法识别的命令行选项 - 线程'

所以我怀疑这不是gold我与之联系。

1 个答案:

答案 0 :(得分:2)

黄金链接器是ARM​​(和x86)的默认链接器。来自Revision 8c release notes

  

为Windows工具链添加了Gold链接器ld.gold。 金链接器是   也是所有主机上ARM和X86的默认设置。您可以将其覆盖为   通过添加LOCAL_LDFLAGS + = -fuse-ld = bfd来使用ld.bfd链接器   Android.mk,或者将-fuse-ld = bfd传递给g ++ / clang ++命令行   做链接。

看起来您的错误消息来自C ++编译器,而不是链接器。如果通过编译器调用链接器,那么您可以尝试使用-Wl,--threads传递链接器参数。否则,也许您还在其他地方指定了--threads