私が取り組んでいるプログラムは、3rdPartyLibrary.lib に静的にリンクされています。
同じ 3rdPartyLibrary の新しいバージョン、たとえば 3rdPartyLibraryNewVersion.lib を利用したかったのです。
したがって、3rdPartyLibraryNewVersion.so を動的にリンクされたライブラリとして含めることを決定し、wrapper.so と呼ばれるラッパー動的ライブラリを介して含めます。3rdPartyLibrary の新しいバージョンと古いバージョンの両方を同時に使用したいと考えていますが、プログラムの別のパーティで使用します。
私たちが持っている解決策は、古い 3rdPartyLibrary を静的にリンクし、ラッパー ライブラリに動的にリンクして、同時に 3rdPartyLibraryNewVersion にリンクすることです。
プログラム --- 静的にリンク ---> 3rdPartyLibrary.lib. --- 動的にリンク --> wrapper.so --- 動的にリンク ---> 3rdPartyLibraryNewVersion.so.
これは可能ですか?
私たちが遭遇した問題は、wrapper.so がテスト実行可能ファイルで動作する一方で、3rdPartyLibrary.lib に静的にリンクされているプログラムからラッパーが呼び出されると、3rdPartyLibraryNewVersion.so 内で失敗することです。
私は何か悪いことをしましたか?
コードを 3rdPartyLibrary.lib に更新するのが正しい方法であることはわかっていますが、面倒です...
ありがとう、
ティム