Cmake无法在自制软件中找到boost_pyhton库

问题描述 投票:2回答:1

我正在尝试在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。*文件?

homebrew boost-python cmake-modules
1个回答
0
投票

因为没有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。这些也可以用作后缀,但请注意,它们不是可移植的]

© www.soinside.com 2019 - 2024. All rights reserved.