Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Boost 安装在Apache Pulsar C++;Mac上的客户端 我尝试遵循以下指令在MAC上安装Apache脉冲星C++客户端: _Boost_Cmake_Homebrew_Boost Python_Apache Pulsar - Fatal编程技术网

Boost 安装在Apache Pulsar C++;Mac上的客户端 我尝试遵循以下指令在MAC上安装Apache脉冲星C++客户端:

Boost 安装在Apache Pulsar C++;Mac上的客户端 我尝试遵循以下指令在MAC上安装Apache脉冲星C++客户端: ,boost,cmake,homebrew,boost-python,apache-pulsar,Boost,Cmake,Homebrew,Boost Python,Apache Pulsar,不幸的是,当我运行cmake.步骤时,得到以下响应: 12:25 AM rp:~/fp/pulsar/pulsar-client-cpp$(master)>cmake . -- BUILD_TESTS: ON -- BUILD_PYTHON_WRAPPER: ON -- LINK_STATIC: OFF -- USE_LOG4CXX: OFF -- CMAKE_BUILD_TYPE: RelWithDebInfo -- Found Boost: /usr/local/includ

不幸的是,当我运行
cmake.
步骤时,得到以下响应:

12:25 AM rp:~/fp/pulsar/pulsar-client-cpp$(master)>cmake .
-- BUILD_TESTS:  ON
-- BUILD_PYTHON_WRAPPER:  ON
-- LINK_STATIC:  OFF
-- USE_LOG4CXX:  OFF
-- CMAKE_BUILD_TYPE:  RelWithDebInfo
-- Found Boost: /usr/local/include (found version "1.71.0") found components:  program_options regex system
-- PYTHON: 2.7.16
CMake Warning at /usr/local/Cellar/cmake/3.15.5/share/cmake/Modules/FindBoost.cmake:2003 (message):
  No header defined for python-mt; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:149 (find_package)


CMake Warning at /usr/local/Cellar/cmake/3.15.5/share/cmake/Modules/FindBoost.cmake:2003 (message):
  No header defined for python-py27; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:149 (find_package)


CMake Warning at /usr/local/Cellar/cmake/3.15.5/share/cmake/Modules/FindBoost.cmake:2003 (message):
  No header defined for python27-mt; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:149 (find_package)


CMake Warning at /usr/local/Cellar/cmake/3.15.5/share/cmake/Modules/FindBoost.cmake:2003 (message):
  No header defined for python27-mt; skipping header check
Call Stack (most recent call first):
  CMakeLists.txt:160 (find_package)


-- Found Boost: /usr/local/include (found version "1.71.0") found components:  python27-mt
-- HAS_ZSTD: 1
-- HAS_SNAPPY: 0
-- Using Boost Python libs: /usr/local/opt/python@2/Frameworks/Python.framework/Versions/2.7/lib;/usr/local/lib/libboost_python27-mt.dylib;Boost_PYTHON37-MT_LIBRARY_RELEASE-NOTFOUND
CMake Error at python/CMakeLists.txt:70 (MESSAGE):
  Could not find Boost Python library


-- Configuring incomplete, errors occurred!
See also "/Users/rp/fp/pulsar/pulsar-client-cpp/CMakeFiles/CMakeOutput.log".

我使用brew安装了boost、boost python和cmake,但cmake似乎没有看到python boost。

我通过编辑
pulsar/pulsar client cpp下的主
CMakeLists.txt
文件找到了解决办法:

if (PYTHONLIBS_VERSION_STRING MATCHES "^3.+$")
        MESSAGE(STATUS "DETECTED Python 3")
        string(REPLACE "." ";" PYTHONLIBS_VERSION_NO_LIST ${PYTHONLIBS_VERSION_STRING})
        list(GET PYTHONLIBS_VERSION_NO_LIST 0 PYTHONLIBS_VERSION_MAJOR)
        list(GET PYTHONLIBS_VERSION_NO_LIST 1 PYTHONLIBS_VERSION_MINOR)
        set(BOOST_PYTHON_NAME_POSTFIX ${PYTHONLIBS_VERSION_MAJOR}${PYTHONLIBS_VERSION_MINOR})
        # For python3 the lib name is boost_python3
        set(BOOST_PYTHON_NAME_LIST python3;python3-mt;python-py${BOOST_PYTHON_NAME_POSTFIX};python${BOOST_PYTHON_NAME_POSTFIX}-mt;python${BOOST_PYTHON_NAME_POSTFIX})
    else ()
        # Regular boost_python
        set(BOOST_PYTHON_NAME_LIST python3;python37;python;python-mt;python-py27;python27-mt;python27)
    endif ()
此解决方案确实需要使用
brew安装boost-python3

我怀疑如果用
python27
切换
python
,它也会工作。我的
python
安装是2.7