Could NOT find Boost
问题描述
基于cmake构建,使用python2.7,已经brew install过boost和boost-python
boost的包能找到,但是build python相关的构建规则中,boost python包找不到,提示“Could NOT find Boost”。
需要编辑cmake/Dependencies.cmake
,修改:
find_package(Boost 1.46 COMPONENTS python) if(PYTHONLIBS_FOUND AND NUMPY_FOUND AND Boost_PYTHON_FOUND)
为:
find_package(Boost 1.46 COMPONENTS python27) if(PYTHONLIBS_FOUND AND NUMPY_FOUND AND Boost_PYTHON27_FOUND)
(增加了27
)
Python3:
我用的anaconda,装的是python 3.7.1。需要:
brew install boost-python3
我安装的是boost 1.71版本,据说比1.70新的boost,找python的时候需要传入-D Boost_NO_BOOST_CMAKE=ON
,或者在cmake/Dependencies.cmake
中根据版本自行设定。。
参考:https://www.forum.freecadweb.org/viewtopic.php?f=4&t=39301
Protobuf版本问题
2.6版本可用。3.6版本能brew安装,但编译caffe源码在make protoc阶段报错。
brew install protobuf@2.6
如果先安装了protobuf3.6,然后装的protobuf2.6,需要brew link protobuf@2.6 --force