必要な .so ファイルへの絶対パスが/home/dev/casablanca/Release/build.release/Binaries/libcpprest.so
. 私がやりたかったのは、次のコマンドで簡単にリンクできるように、cp
その .so ファイルを/usr/lib/..
デフォルトの lib 検索へのパスに単純に貼り付けることでした。../
g++ index.cpp -I/home/dev/casablanca/Release/include -lcpprest -std=c++11
これは正常にコンパイルされましたが、./a.out を実行すると、典型的なランタイム エラーが発生しました。
couldn't load shared library: libcpprest.so
libcpprest.so のデフォルト パスを LD_LIBRARY_PATH に追加した後でも。
ただし、バイナリが最初に作成されたディレクトリをリンクすると、すべてが正常に機能しました。
// ./a.out runs just fine
g++ index.cpp -I/home/dev/casablanca/Release/include \
-L/home/dev/casablanca/Release/build.release/Binaries -lcpprest -std=c++11
.so オブジェクトを追加したい場所に単純に移動できない理由は、何らかの形でコンパイラが参照を保持しているためだと推測しています。このバイナリを別のパスにインストールするにはどうすればよいですか?