Android用Swift:AndroidのコンパイルとリンクステップのSwift `-lgcc`に `ld`が見つかりません。

Android用Swift:AndroidのコンパイルとリンクステップのSwift `-lgcc`に `ld`が見つかりません。

Ubuntu 16.04 LTSでSwiftコードをコンパイルしようとしています。このガイドラインかなり近い。 NDK r14をダウンロードし、libicuツールをダウンロードしてビルドし、Swiftソースをダウンロードしてlibicuツール用にビルドすることができました。私は実際のSwiftコードをコンパイルするまで行き、次のようになりました。

#build.sh 
#(I symlinked the androideabi ld.gold to /usr/bin/ld.armv7, based on a swift bug ticket's advice. Thats the only thing different from the instructions)

/home/mike/workspace/swift-source/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swiftc \
-use-ld=armv7 \
-tools-directory /home/mike/workspace/android-ndk-r14/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/bin \
-target armv7-none-linux-androideabi \
-sdk /home/mike/workspace/android-ndk-r14/platforms/android-21/arch-arm \
-L /home/mike/workspace/android-ndk-r14/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a \
-L /home/mike/workspace/android-ndk-r14/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9 \
hello.swift


#output
mike@mike-VirtualBox:~/workspace/HelloSwift$ ./build.sh 
/usr/bin/ld.armv7: error: cannot find -lgcc
/usr/bin/ld.armv7: error: cannot find -lgcc
/usr/bin/ld.armv7: error: cannot find -lgcc
/usr/bin/ld.armv7: error: cannot find -lgcc

私はツールチェーンの経験があまりありませんが、確かにgccがインストールされ、ldがgccを見つけるのを助けるようにgcc-multilibとLD_LIBRARY_PATHを設定し、ldconfigを使ってldキャッシュを再構築しました。

ベストアンサー1

まだ疑問に思っている人のために言うと、ある時点で私はバイナリの1つを移動したか、ディレクトリの1つの名前を小さなもののように変えましたlinux-x86-64linux-x64-64

おすすめ記事