私はAndroid用のいくつかのネイティブライブラリを開発し、Boostライブラリを使用しています。私が直面している問題は、一部のシステムライブラリとネイティブライブラリの一部をリンクしようとすると、UnsatisfiedLinkError
がスローされるということです。あなたが唯一のすべてのコードが が依存します、単一のC++ランタイムを選択することができますBoostライブラリで例外とRTTIを無効にすることはできますか?
:NDKのドキュメントに記載されているように異なるC++ランタイムによるものです。 異なるC++ランタイムに対してコンパイルされた共有ライブラリを混在させることはできません。
システムライブラリではRTTIと例外は使用されませんが、ライブラリでは暗黙的に使用されます。 BOOST_EXCEPTION_DISABLE
とBOOST_NO_RTTI
というマクロがありますが、動作させることができません。私もコンパイラフラグとして及びconfig.hppの中でそれらを設定しようとしたが、運と - まだのような多くのエラーを取得して
cannot use typeid with -fno-rtti
私はブーストでこれらの機能を無効にするにはどうすればよい
、それも可能ですか?
Boostをコンパイルしようとしたときにエラーが発生しましたか?あるいは、あなた自身のコードをコンパイルしようとしていますか? –
自分のコードをコンパイルしようとしているとき。 – vitakot
ところで、質問は意味がありません。私はヘッダーのみを使用していました...(主にcircular_buffer.hpp、signal.hpp、shared_ptr.hpp) – vitakot