1

これはここで奇妙な設定です。GCC 4.7 でカスタム NDK をコンパイルしました (Debian armhf chroot ホスト用)。テストでは、Android で通常の c および c++ バイナリを完全にコンパイルして実行します。以下を使用して C++ でテスト共有ライブラリをコンパイルしようとする場合:

arm-linux-androideabi-g++ -fPIC -shared test.cpp -lstdc++ -o test.so

多数のリンカ エラーが発生し_staticinitialization_destruction_dso_handle参照されていません。

ディレクトリの下の lib フォルダーにと の両方がlibstdc++.aあります。何が起こっている?Android C++ スタンドアロンのコンパイルに関する情報はほとんどありません。libstdc++.soarm-linux-androideabi

編集 GNU STL の iostream 部分では __dso_handle が定義されていないようです。2005年のLinux投稿から答えを見つけました。2012年の問題はまだあるようです:O笑。

4

0 に答える 0