私はAndroid NDK GCCツールチェーンを使ってプロジェクトをコマンドラインとしてコンパイルしています。 私のgccの場所はGCCと異なるパスからCライブラリを使用する方法
/opt/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
であると私はHello Worldのを構築する際には問題はありませんgccのオプション
--sysroot=/opt/android-ndk/platforms/android-8/arch-arm/
を使用しています。私は
/opt/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3
にそれを置く場合
/opt/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld:
crtbegin_static.o: No such file: No such file or directory
実は、 "crtbegin_static.oは"
/opt/android-ndk/platforms/android-8/arch-arm/usr/lib
に配置されています。しかし、このプロジェクトのために、リンク時に、それがエラーを生成しますこの問題を解決することができます。
とにかくcrtbegin_static.o
を正しく見つけるためにgccを作成する必要はありますか。
これらを使用すると、 " - sysroot ="オプションを再度コンパイラでなくリンカに渡すことで解決できます。すでに試してみた。 – Allen