当前位置:   article > 正文

eclipse.paho.cpp的配置方法_eclipse.mqtt.cpp cmake

eclipse.mqtt.cpp cmake

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  1. 编译paho.mqtt.cpp,注意openssl可能会引用到系统下的,可能会导致无法链接成功。
git clone https://github.com/eclipse/paho.mqtt.cpp.git
  • 1
  1. 为了防止 openssl的lib引用成了mac系统下的文件导致编译出错,需要修改cmake/FindPahoMqttC.cmake文件,在第五行后插入如下内容,这个特别指定了lib文件路径:
   # OpenSSL
   if(OPENSSL_FOUND)
       if(APPLE)
           include_directories(/usr/local/Cellar/openssl@1.1/1.1.1d/include)
           list(APPEND LIB_LIST /usr/local/Cellar/openssl@1.1/1.1.1d/lib/libssl.dylib)
           list(APPEND LIB_LIST /usr/local/Cellar/openssl@1.1/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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  1. 可能缺 catch2 包
brew install catch2
mkdir build
cd build
export OPENSSL_ROOT_DIR=/usr/local/Cellar/openssl@1.1/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就安装在这个路径下了
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/176485
推荐阅读
相关标签
  

闽ICP备14008679号