1

libociei.so と libcustome.so をリンクしてアプリケーションを作成します。

CC -o メイン main.cpp ../lib/libociei.so ../lib/libcustome.so

libociei.so libcustome.so を /usr/lib にコピーします。

次に、ldd を使用してライブラリをチェックすると、次のように表示されます。

   main .....
   libcustome.so  ===>   /usr/lib/libcustome.so
   ../lib/libociei.so

libociei.so が /usr/lib/libociei.so に移動されないのはなぜですか?

ps : ld ライブラリ パスは /lib:/usr/lib で、ld ライブラリ パスに ../lib を追加しません

4

2 に答える 2

0

readelf -d main を使用すると、NEEDED エントリにフル パスが含まれますか?

私の推測では、ldd はデフォルト パスでライブラリを探しています。

于 2012-09-02T02:10:17.413 に答える
0

Linux(Ubuntuなど)を使用している場合、おそらく実行していないことが原因です。

sudo ldconfig

他のシステムでは、よくわかりません。

于 2010-10-22T04:54:08.853 に答える