私は android-4.4_r1 (KRT16S) を使用した Android プラットフォームのビルドに取り組んでいます。ソース (これは大きなプロジェクトです) を問題なく *.so ファイルにコンパイルできます。
ソースをコマンド ライン実行可能ファイルにビルドしようとするとinclude $(BUILD_EXECUTABLE)
(基本的にはライブラリをコマンド ライン インターフェイスでラップするだけです)、リンク時に次のエラーが発生します。
out/target/product/flo/obj/lib/libssl.so: error: undefined reference to '__strlen_chk'
out/target/product/flo/obj/lib/libssl.so: error: undefined reference to '__strchr_chk'
out/target/product/flo/obj/lib/libcrypto.so: error: undefined reference to '__strrchr_chk'
out/target/product/flo/obj/lib/libcrypto.so: error: undefined reference to '__sprintf_chk'
out/target/product/flo/obj/lib/libcrypto.so: error: undefined reference to '__strcat_chk'
この問題への言及はこちらとこちらで見ましたが、修正方法がわかりません。実行可能ファイルで動作するように openssl を別の方法でビルドする必要がありますか?
アップデート
これは私がopensslを構築した方法です:
- レポ init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2
- レポ同期
- ソースビルド/envsetup.sh
- ランチ full_flo-eng
- openssl ディレクトリに cd します
- mm -B
外からの指示には従いませんでした。リポジトリで提供されているものを使用しました。