Что (если есть) является хорошим способом обработки несоответствия ABI между libС++ и stdlibС++ на Mac?
Проблема: для многих функций С++ 11 требуется новая реализация libС++ стандартной библиотеки С++. Но libС++ не совместим с ABI со старым libstdС++, в то время как в настоящее время большинство программ обычно связывается с последним. Например, системный компилятор по-прежнему использует stdlibС++, что означает, что все мои библиотеки, установленные с macports, имеют разные ABI для std-классов, таких как строка, и несовместимы с проектами, которые сильно используют С++ 11.
Мое текущее решение: сохраняйте две версии библиотек, где это обычно приводит к проблеме (boost, opencv и т.д.) и ссылается на соответствующий.
Я предполагаю, что можно предположить, что если я действительно хочу использовать libС++, я должен очистить мою систему чего-либо, используя stdlibС++, и убедиться, что что-либо из macports (или где-либо еще) связано только с libС++. Вы могли видеть, насколько сложна эта задача.
Кто-нибудь разработал хороший способ связать это "между-stdlib-limbo", в котором мы живем?:)
EDIT: я делаю подразумеваемый последующий вопрос более явным: Apple отправляет как libС++, так и libstdС++ с их системами. Предполагая, что один атакует основную проблему и пытается перейти на libС++ - только. Каким будет рекомендуемый способ перехода с libstdС++ на libС++, учитывая, что 100% библиотек, установленных в вашей системе (некоторые из них поставляются вместе с системой, большинство из них с помощью macports, несколько с помощью ручной компиляции) связаны с libstdС++ (если есть )? Кто-нибудь сделал это и выжил?