Проект GitHub, https://github.com/bluzelle/swarmDB, над которым я работаю, предоставляет опцию, которая устанавливает Boost 1.70.0 в папку сборки и ссылки оттуда.
К сожалению, только в macOS, еслиразработчик установил предыдущую версию boost, скажем 1.68.0, вручную или через brew, файлы include и lib помещаются в
/ usr / local
, что приводит к игнорированию компиляторомboost в папке build, так как он сначала видит старую версию boost.Поскольку мы используем новую функциональность в Boost 1.70.0, это приводит к трудностям в диагностике ошибок компоновщика (ну, не сейчас, мы знаем, в чем проблема).
Исправление состоит в том, чтобы попросить разработчиков удалить старую версиюboost, лучшим решением было бы игнорировать старые буст-файлы, включающие папки и библиотеки.
Как заставить компиляторы macOS c ++ игнорировать старые версии буста, включающие в себя папки и библиотеки в пользу тех, которые установлены в папке сборки