Compiler errors NDK静态库项目没有';t为arm64-v8a编译

Compiler errors NDK静态库项目没有';t为arm64-v8a编译,compiler-errors,ld,ndk-build,Compiler Errors,Ld,Ndk Build,我正在尝试使用android-ndk-r13b构建一个静态库(cocos2d)。 我有Android.mk用于静态库项目,并且指定了 APP_ABI := armeabi armeabi-v7a arm64-v8a 目标体系结构的列表。问题是arm64-v8a无法在最后一步(链接)的基础上构建 make生成以下输出: collect2: fatal error: cannot find 'ld' compilation terminated. 我不明白,怎么了。此实用程序确实存在。我可以

我正在尝试使用android-ndk-r13b构建一个静态库(cocos2d)。 我有Android.mk用于静态库项目,并且指定了

APP_ABI := armeabi armeabi-v7a arm64-v8a
目标体系结构的列表。问题是arm64-v8a无法在最后一步(链接)的基础上构建

make生成以下输出:

collect2: fatal error: cannot find 'ld'
  compilation terminated.
我不明白,怎么了。此实用程序确实存在。我可以从终端运行它

ld -v
@(#)PROGRAM:ld  PROJECT:ld64-253.3
configured to support archs: i386 x86_64 x86_64h armv6 armv7 armv7s armv7m armv7k arm64 (tvOS)
LTO support using: LLVM version 3.7.1
它表示支持arm64。 我不明白我现在该往哪个方向挖。
armeabi-armeabi-v7a
编译得很好,我得到了两个.so文件。

看来我找到了一个解决方案,或者更确切地说,找到了一个解决办法。 我完全控制了通过
make
运行的ndk构建,并添加了ndk_LOG=1标志。它给了我一个线索。链接器正在尝试从运行
~/Library/android/ndk/android-ndk-r13b/toolschains/aarch64-linux-android-4.9/prebuilded/darwin-x86\u 64/aarch64-linux-android/bin/
这是nkd build试图查找
ld
可执行文件的路径。我在这个目录中没有找到
ld
本身,但是有
ld.bfd
ld.gold
可执行文件(因为我相信它们是特定于linux平台的)。因此,我刚刚创建了一个符号链接
ld~>ld.gold
,然后构建成功