2016-11-30 6 views
0

Mac OS Xの.dylibを.soファイルと同じようにAndroid.mkファイルで参照できますか?AndroidでOSX .dylibを使用NDK

NDKで使用する必要があるコンピュータにコンパイルしたC++プロジェクトがあります。プロジェクトは2つのdylibを使用します。コンパイルは機能しますが、リンクはしません(私は "[...]"メッセージへの未定義参照を持っています)。

答えて

1

いいえ、そうではありません。 .dylibには、基本となるLinux OSが理解できないバイナリ形式があります。 .soファイルを使用する必要があります。ライブラリのソースコードがある場合は、.soにコンパイルするだけでシムレイヤーと同じように最小限の変更が必要です。

+0

本当ですか?プロジェクトはOpenCVも使用しています。私は.dylibしか持たず、.soファイルもありません。 –

+0

オープンCVは.soまたはソースコードとして簡単に利用できます。それがなければ、コンパイルすることができます(Java部分はJavaコードに適切なネイティブ関数が存在するとしか気にしません)が、ライブラリをロードしたりC関数を見つけることができないため、リンクまたは実行時に失敗します。 –

+0

あなたはそうです、私は自宅の醸造所でOpenCVをインストールしましたが、アンドロイド版をダウンロードして.mkファイルを入手しました。これは提供されている.soファイルを参照している可能性があります。 –

関連する問題