У меня есть несколько статических библиотек, которые я не являюсь владельцем, скомпилированный со старой версией g++ (4.3.2, С++ 11/С++ 0x не активирован).
Когда я скомпилирую свой код с g++ 4.6 (no С++ 11) и свяжу его (используя g++ 4.6) с этими статические библиотеки, он отлично связывается, и я, кажется, не получаю никаких проблем во время выполнения (не проверял все, хотя). поэтому я испытываю соблазн подумать, что совместимость в прямом направлении в порядке.
Теперь я хотел бы скомпилировать мой код с gcc 4.8 с С++ 11 и по-прежнему связывать его с теми же, а не с перекомпилированными статическими библиотеками. Уилл все еще работает?
Другими словами, - это изменения ABI в g++ только для совместимости с прямой связью или могут также возникать проблемы с обратной совместимостью?
Спасибо.