У меня довольно сложный проект на базе C++14 cmake, подготовить минимальный полный проверяемый пример не так-то просто. Используя boost 1.73, я обнаружил проблему с связыванием на этапе выполнения в Ubuntu 22.04/23.04. В частности, ldd возвращает что-то вроде этого:
Другие библиотеки Boost (например, потоки, файловая система) расположены успешно. Я обнаружил, что могу решить проблему, явно добавив глобальный объект из библиотеки регулярных выражений, например:
В то же время объект, созданный по умолчанию, не помогает:
Может кто-нибудь объяснить мне, почему это исправление работает?
В более современной версии Boost 1.84 такой проблемы нет, скорее всего, потому что библиотека регулярных выражений стала заголовком -только.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... tantiation