Может ли приложение зависеть от двух разных версий libstdc ++? - PullRequest
4 голосов
/ 08 апреля 2009

Может ли приложение зависеть от двух разных версий libstdc ++ одновременно? (например: libstdc ++ 5 и libstdc ++ 6)? Сценарий следующий - некоторый двоичный файл зависит от libstdc ++ 6, но загружает .so, который зависит от libstdc ++ 5 ...

Будет ли у этого шанс?

Ответы [ 2 ]

3 голосов
/ 08 апреля 2009

Самое главное, вам нужно проверить, являются ли эти две версии библиотеки двоичными или нет. G ++ 3.3 и 3.4 нет, например.

И даже если они: * Там могут быть проблемы искажения имени * Вы не можете делать кросс-модульное распределение / освобождение (плохая идея в любом случае) * Вы, вероятно, не можете обойти модули с STL

1 голос
/ 08 апреля 2009

Я только что портировал приложение C ++ из AS3 / GCC323 в AS4 / GCC346. Хотя само приложение связано с libstdc ++. So.6, некоторые библиотеки, с которыми оно связано, все еще ссылаются на libstdc ++. So.5. Построение хранилища успешно завершилось, когда я попытался запустить его.

Как только я перекомпилировал библиотеки на AS4 / GCC346, приложение и библиотеки, связанные только с libstdc ++. So.6, и SEGV больше не возникали.

Так что я бы сказал, что нет ответа, вы не можете связать оба.

Jon

...