我正在尝试在Mac上构建C ++代码。我正在使用CMake进行设置。这是我的文件(请注意,我在python3.7,python37,python时遇到错误,但下面有更多内容):
find_package(Boost COMPONENTS python3.7)
message("Includes: ${Boost_INCLUDE_DIRS} ${Python3_INCLUDE_DIRS}")
我收到以下错误:
-- Found Boost 1.71.0 at /usr/local/lib/cmake/Boost-1.71.0
-- Requested configuration: QUIET COMPONENTS python3.7
-- BoostConfig: find_package(boost_headers 1.71.0 EXACT CONFIG QUIET HINTS /usr/local/lib/cmake)
-- Found boost_headers 1.71.0 at /usr/local/lib/cmake/boost_headers-1.71.0
-- BoostConfig: find_package(boost_python3.7 1.71.0 EXACT CONFIG QUIET HINTS /usr/local/lib/cmake)
-- Could NOT find Boost: missing: python3.7 (found /usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0"))
Includes: /usr/local/include /usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/include/python3.7m
我正在使用最新的自制软件
brew --version
Homebrew 2.1.12
Homebrew/homebrew-core (git revision 5b0c; last commit 2019-10-06)
并已加载可用的增强公式。
brew list | grep boost
boost
boost-python
boost-python3
[在/usr/local/lib/cmake/
下看,我看到了提到的大多数boost库,但是boost_python和boost_numpy丢失了。我检查了在线公式定义,并且boost
确实包含该目录中的所有cmake设置,但是boost_python3
不包含任何cmake设置。
我是否缺少一些包裹?有没有可移植的方法来设置它,以便它自动找到libboost_python37。*文件?
因为没有python3.7
组件。此组件称为python37
, at least for CMake 3.16 and earlier:
请注意,Boost Python组件需要使用Python版本后缀(Boost 1.67及更高版本),例如python36或python27分别针对针对Python 3.6和2.7构建的版本。这也适用于使用Python的其他组件,包括mpi_python和numpy。早期的Boost版本可能使用特定于发行版的后缀,例如2、3或2.7。这些也可以用作后缀,但请注意,它们不是可移植的]