Unity 2018.3,升级到Catalina后,在Android(ndk n16b)上的il2cpp编译期间链接器崩



升级到macOS Catalina后,我的Unity 2018.3无法使用il2cpp为Android编译。

该错误似乎发生在链接过程中。

下面是输出:

/Users/myuser/Applications/android-ndk-r16b/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ @"/var/folders/vq/04653nwj79jdpld6_lndr1lw0000gn/T/tmpXtN5uB.tmp" -o "/Users/myuser/Documents/Unity/MyProject/Library/il2cpp_android_arm64-v8a/il2cpp_cache/linkresult_44B2FEF258539B2B7FE0DE0B1C88B423/libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "/Users/myuser/Applications/android-ndk-r16b/platforms/android-21/arch-arm64" -gcc-toolchain "/Users/myuser/Applications/android-ndk-r16b/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64" -target aarch64-none-linux-android -Wl,--wrap,sigaction -L "/Users/myuser/Applications/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a" -lgnustl_static -llog -Xlinker -Map="/Users/myuser/Documents/Unity/MyProject/Library/il2cpp_android_arm64-v8a/il2cpp_cache/linkresult_44B2FEF258539B2B7FE0DE0B1C88B423/libil2cpp.map" -rdynamic -fuse-ld=bfd
clang++: error: invalid linker name in argument '-fuse-ld=bfd'

看起来在 NDK 中没有达尔文x86_64 :(的链接ld-bfd

您对如何解决有任何想法吗?

我发现了一个(非常糟糕的(解决方法,那就是...工程。

导航到您的 NDK 文件夹,然后:

cd toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/aarch64-linux-android/bin

现在,将gold链接器复制为bfd

cp ld.gold ld.bfd

不确定它是否有任何副作用,但是,嗯...它编译!

将文件/构建设置/播放器设置中的 API 兼容级别更改为 .NET 标准 2.0 为我解决了这个问题。

相关内容

最新更新