私はJNIで作業しています。私は2つの共有ライブラリを使用するラッパーライブラリ(wrapper.so)を持っています:one.soとtwo.so共有ライブラリの相対パス
すべてうまくいきます。すべての* .soは、プログラムフォルダ内のlibフォルダにあります。
問題は、このフォルダを別のコンピュータにコピーすると、リンクの問題が発生することです。
のは、私はマシンのuser2の(/ホーム/ user2の/プログラム)でこれを実行し、私は機械USER1(/ホーム/ user1の/プログラム)にコンパイルしましょう、私はリンクエラーを取得:
ないUnsatisfiedLinkErrorを:私のような(親プログラムフォルダからの相対ライブラリのリンクを作ることができますどのように/home/user1/program/lib/one.so
、私はコンパイルしてるthis_foler ??/libに
の検索のような:
g++ -c -o src/wrapper.o src/wrapper.c
g++ -shared -o wrapper.so src/wrapper.o one.so two.so
@Rockskull答えがうまくいくなら、あなたはそれを受け入れるか、投票するか、あるいはその両方を行うことになっています。あなたがしなければ、あなたの質問にネクスタイムで答える気にならない人もいます。 –
申し訳ありません。スタックオーバーフローの初心者。私はそれを受け入れるが、私はそれを投票することはできない。 – lcguida
@EmployedRussianあなたはintelコンパイラの対応コマンドを知っていますか?ありがとう。 – xslittlegrass