Могу ли я использовать общие библиотеки, созданные разными версиями GCC и как?GCC «неопределенная ссылка на», но существуют символы
У меня есть undefined reference to
ошибки при соединении. Но эти имена существуют в библиотеках so
. Я понял, что ЛИЭС были построены с более старой версии GCC (2.8), я использую версию GCC (4.7) и, таким образом, кажется, что имена искажаются по-разному:
Построенный НКУ 2.8.1:
setInfo__10SS7_HeaderUl
Построенный НКУ 4.7.2:
_ZN10SS7_Header7setInfoEm
и не может быть резол ved (справа?).
Можно ли использовать старые разделяемые библиотеки, не перестраивая их? (Возможно, я могу перекомпилировать существующий код с использованием некоторых флагов обратной совместимости и т. Д., Чтобы соответствовать старым библиотекам)
Похоже, что они изменили название mangling. – Barmar