私は Android 用のネイティブ ライブラリをいくつか開発し、Boost ライブラリ (ヘッダー ベースのライブラリのみ) を使用しています。私が直面している問題は、ネイティブ ライブラリの一部をシステム ライブラリにリンクしようとすると、UnsatisfiedLinkError
スローされることです。これは、NDK のドキュメントに記載されているように、C++ ランタイムが異なるためです。
すべてのコードが依存する単一の C++ ランタイムのみを選択できます。異なる C++ ランタイムに対してコンパイルされた共有ライブラリを混在させることはできません。
システム ライブラリは RTTI と例外を使用しませんが、私のライブラリは暗黙的に使用します。BOOST_EXCEPTION_DISABLE
マクロとがあることは知っていますがBOOST_NO_RTTI
、それを機能させることができません。それらをコンパイラフラグとして、またconfig.hppでも設定しようとしましたが、うまくいきませんでした.
cannot use typeid with -fno-rtti
Boost でこれらの機能を無効にするにはどうすればよいですか?