1

ldバージョン管理されていない.soファイルに対して強制的にリンクできますか?

Linuxでは、C ++プログラムを共有ライブラリにリンクすると、バージョン管理された.soファイルにバインドされます。これは通常、非常に良い方法です。たとえば、プログラムを次のようにコンパイルすると、

g++ main.cxx -l somelib

次に確認します

ldd ./a.out

それは次のようなものを印刷します

libsomelib.so.1 => /xxxx/somelib/libsomelib.so.1

システムが他の場所で壊れているため、このファイルは、シンボリックリンクlibsomelib.soの場合のように、通常のようにではなく、ターゲットにインストールされます。libsomelib.so.1これを変更することはできないため、回避策として、バージョン管理されていない.soファイルにリンクするようにmakefileを変更したいと思います。(すべてが制御された環境にあるため、ここではバイナリ互換性は問題になりません)。

4

1 に答える 1