共有ライブラリを読んだときに、これらの疑問が浮かび始めました..
1.----------------------------------------------- すでに次のようにコンパイルしたとします。下、
test : main.o libtest.so.2
gcc main.o -L ../../lib -ltest -o test
libtest.so.2 : version2.c
gcc -Wall -fPIC -c version2.c
gcc -shared -Wl,-soname,libtest.so -o libtest.so.2.0 version2.o
ln -sf libtest.so.2.0 libtest.so
mv libtest.s* ../../lib
main.o : main.c
gcc -c main.c
-ltest を指定すると、ライブラリは常に libtest.so へのソフト リンクになります。正しい ?では、別のバイナリ用に上位バージョンの libtest を使用し、前者に古いバージョンが必要な場合はどうすればよいでしょうか? どうすればこれを処理できますか。
2.------------------------------------------------ ------------------------- 私はいくつかのライブラリを持っていますが、それらを LD_LIBRRAY_PATH に含めたくありません。それらに完全に関連する。