eclipse.paho.cpp的配置方法

mac os 下 paho.mqtt.cpp 的配置方法

  1. 先把编译器、CMake装上,我在命令行里敲 gcc 它自己就弹出提示安装一些开发者工具,CMake通过brew install cmake进行安装;
  2. 编译 paho.mqtt.c,在代码库里创建一个build文件夹,将编译后的程序安装在build/install文件夹中。
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=./install -DPAHO_WITH_SSL=ON
make -j12
make install
# 可以记录一下 install 路径,后面要用,
cd install 
pwd #把地址复制下
  1. 编译paho.mqtt.cpp,注意openssl可能会引用到系统下的,可能会导致无法链接成功。
git clone https://github.com/eclipse/paho.mqtt.cpp.git
  1. 为了防止 openssl的lib引用成了mac系统下的文件导致编译出错,需要修改cmake/FindPahoMqttC.cmake文件,在第五行后插入如下内容,这个特别指定了lib文件路径:
   # OpenSSL
   if(OPENSSL_FOUND)
       if(APPLE)
           include_directories(/usr/local/Cellar/[email protected]/1.1.1d/include)
           list(APPEND LIB_LIST /usr/local/Cellar/[email protected]/1.1.1d/lib/libssl.dylib)
           list(APPEND LIB_LIST /usr/local/Cellar/[email protected]/1.1.1d/lib/libcrypto.dylib)
           message(STATUS "OpenSSL Version: ${OPENSSL_VERSION} ${OPENSSL_INCLUDE_DIR} ${OPENSSL_LIBRARIES}")
       else()
           include_directories(${OPENSSL_INCLUDE_DIR})
           list(APPEND LIB_LIST ${OPENSSL_LIBRARIES})
           message(STATUS "OpenSSL Version: ${OPENSSL_VERSION} ${OPENSSL_INCLUDE_DIR} ${OPENSSL_LIBRARIES}")
   endif()
  1. 可能缺 catch2 包
brew install catch2
mkdir build
cd build
export OPENSSL_ROOT_DIR=/usr/local/Cellar/[email protected]/1.1.1d    # brew的openssl的路径
cmake .. -DCMAKE_INSTALL_PREFIX=./install -DPAHO_BUILD_TESTS=OFF -DCMAKE_PREFIX_PATH=/Users/codefreedom/workspace/sources/paho.mqtt.c/build/install # 这里是刚才编译的 paho.c的路径
make -j12
make install
cd install # 配好的 paho.cpp就安装在这个路径下了

你可能感兴趣的:(日常学习)