Мне кажется, проблема в том, что Homebrew устанавливает boost_python
в отдельный каталог (т. Е. /usr/local/Cellar/boost-python3/1.67.0_1/
), который отличается от остальной части установки Boost (т. Е. /usr/local/Cellar/boost/1.67.0_1
).
Я не на Mac, поэтому я не совсем уверен в фактической структуре каталогов и о том, сколько можно сделать с помощью символических ссылок (символьные ссылки на каталоги компонентов Boost Python обратно в основной установочный каталог Boost).
Итак, я собрал и установил (на Ubuntu Linux) из исходников последнюю версию Boost (1.68), используя
./bootstrap.sh --prefix=/bulk/workbench/boost/install --with-python=python3
Все компоненты оказались в каталогах include
и lib
в /bulk/workbench/boost/install
. При условии, что во время настройки CMake, как в
cmake -DBoost_ROOT=/bulk/workbench/boost/install [path-to-my-project-source-dir]
и используя это в моем CMakeLists.txt
find_package(Boost COMPONENTS python REQUIRED)
удалось найти мой boost_python
модуль.
По сути, если вы не можете изменить установку Homebrew, может быть проще создать собственный Boost.