Программа, над которой я работаю, статически связана с 3rdPartyLibrary.lib.
Мы хотели воспользоваться более новой версией той же 3-й части библиотеки, скажем, 3-й части библиотекиНовойVersion.lib.
Таким образом, решение состоит в том, чтобы включить 3rdPartyLibraryNewVersion.so в качестве динамически связанной библиотеки для включения через динамическую библиотеку оболочки, называемую wrapper.so. Мы надеемся использовать как новую версию, так и старую версию 3rdPartyLibrary одновременно, но с другой стороной программы.
Решение, которое у нас есть, состоит в том, чтобы статически связать старую 3rdPartyLibrary и динамически связать ее с библиотекой-оберткой с 3rdPartyLibraryNewVersion одновременно.
программа --- статически связанная ---> 3rdPartyLibrary.lib.
--- динамически связан -> wrapper.so --- динамически связан ---> 3rdPartyLibraryNewVersion.so.
Возможно ли это?
Проблема, с которой мы столкнулись, заключается в том, что, хотя wrapper.so работал с тестовым исполняемым файлом, он не работал в 3PartyLibraryNewVersion.so, когда обертка вызывается из программы, которая статически связана с 3rdPartyLibrary.lib.
Я сделал что-то не так?
Я знаю, что правильный способ - обновить наш код на 3rdPartyLibrary.lib, но это слишком утомительно ...
Спасибо
Тим