我记得当将Gold链接器引入NDK时,有关于如何切换到它的说明。但现在我无法在文档中的任何位置找到该信息。那么,为了使用Application.mk
链接器,我应该为gold
添加什么?
我试过这个标志:
APP_LDFLAGS += -fuse-ld=gold --threads
并抛出此错误:
arm-linux-androideabi-g ++:错误:无法识别的命令行选项 - 线程'
所以我怀疑这不是gold
我与之联系。
答案 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
。