如果遇到报错

ADD_LIBRARY cannot create target "paho-mqtt3c" because another target with   the same name already exists.  The existing target is a shared library   created in source directory

需要更改

..\paho.mqtt.c\src

下的CMakeLists.txt,将-static后缀添加到文件中的静态库名称上,有两个地方需要进行此更改,在该文件中搜索PAHO_BUILD_STATIC:

第94行附近(添加-static到if语句中引用的库名称中):

IF (PAHO_BUILD_STATIC)

ADD_LIBRARY(paho-mqtt3c-static STATIC $ MQTTClient.c)

ADD_LIBRARY(paho-mqtt3a-static STATIC $ MQTTAsync.c)

TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM})

TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM})

INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static

ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})

ENDIF()

在第164行附近(添加-static到if语句中引用的库名称中):

IF (PAHO_BUILD_STATIC)

ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c)

ADD_LIBRARY(paho-mqtt3as-static STATIC $ MQTTAsync.c SSLSocket.c)

TARGET_LINK_LIBRARIES(paho-mqtt3cs-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})

TARGET_LINK_LIBRARIES(paho-mqtt3as-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM})

SET_TARGET_PROPERTIES(

paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES

VERSION ${CLIENT_VERSION}

SOVERSION ${PAHO_VERSION_MAJOR}

COMPILE_DEFINITIONS "OPENSSL=1")

INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static

ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})

ENDIF()

进行更改后,清除您的CMake缓存(或删除构建文件夹中的CMakeCache.txt文件)并重新运行CMake。

linux 编译mqtt静态库_Windows 编译 MQTT C++相关推荐

  1. linux 编译mqtt静态库_编译MQTT C++ Client

    nmake  -f  ms\nt.mak(这是静态库,动态库是ntdll.mak) nmake  -f  ms\nt.mak test(测试命令,如果成功则最后显示"passed all t ...

  2. android 静态编译链接,Android NDK:使用预编译的静态库链接

    我正在尝试将Jnetpcap移植到Android,以便将其用于解析.pcap文件.Jnetpcap是libpcap的java包装器,它使用JNI.我已经使用android的源代码树将libpcap编译 ...

  3. PHP编译为静态库,Linux下将Tinyxml编译为静态库

    转载请注明来源:Linux下将Tinyxml编译为静态库 一个应用需要在linux服务器上运行,不能保证每个服务器都有应用依赖的库,又懒得每个服务器都去安装下,也不太现实,于是就将应用所用到的库全部编 ...

  4. Linux中gcc的编译、静态库和动态库的制作

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 Linux中gcc的编译.静态库.动态库 文章目录: 1 gcc的编译过程 1.1 gcc的编译过程 1.2 gcc的常用参数 2 gcc 静态库的制 ...

  5. Linux基础——gcc编译、静态库与动态库(共享库)

    Linux基础--gcc编译.静态库与动态库(共享库) https://blog.csdn.net/daidaihema/article/details/80902012 Linux基础--gcc编译 ...

  6. linux编译c++ 静态库,C/C++ 条件编译静态库

    ==>windows 下方法: 1.方法一:VS工程中中直接添加 1.1在VS的属性->常规->附加库目录,添上文件夹的路径:例如:lib/x64: 1.2输入的附加依赖项,添加上库 ...

  7. cmake 编译 linux 库,使用CMake编译跨平台静态库

    在开始介绍如何使用CMake编译跨平台的静态库以前,先讲讲我在没有使用CMake以前所趟过的坑.由于不少开源的程序,好比png,都是自带编译脚本的.咱们可使用下列脚原本进行编译:linux . / c ...

  8. pytorch 矩阵相乘_编译PyTorch静态库

    背景 众所周知,PyTorch项目作为一个C++工程,是基于CMake进行构建的.然而当你想基于CMake来构建PyTorch静态库时,你会发现: 静态编译相关的文档不全: CMake文件bug太多, ...

  9. 将RTKLIB编译成静态库

    rtklib编译 在写自己的程序时,想要调用rtklib.h,和它的一些文件来进行运行,想要将rtklib编译成静态库安装在系统的目录下,这样基于rtklib的二次开发就不用再使用源码了,直接引用静态 ...

最新文章

  1. docker redis 多个实例
  2. weex css单位,weex 踩坑
  3. 三十、赫夫曼树的设计与代码实现
  4. 2-4 js基础-事件对象小结
  5. 语言专升本必背代码_2020年【山西省专升本】,专升本专业与考试科目,专升本招生院校,专升本报名流程大全!...
  6. SpringMVC之组合注解@GetMapping
  7. 在Spring MVC Web应用程序中添加社交登录:单元测试
  8. python笔记-1(import导入、time/datetime/random/os/sys模块)
  9. 不懂技术的产品经理,真的是“祸害人类”吗?
  10. 初识云计算:历史、服务、架构
  11. 【转载】java InputStream读取数据问题
  12. linux命令系列-zip(压缩打包)
  13. django3数据库设计之商城项目
  14. H桥电机驱动电路详解
  15. 大话USB驱动之基础概念
  16. 『Others』markdown简历制作
  17. 豆瓣fm android,豆瓣FM for Android
  18. 一个可以编辑sqlite数据库的 数据库编辑小工具 sqlite数据库 替换字段,sql替换数据库中某个字段的所有值
  19. 用C语言求解一元二次方程组
  20. 交大『云观CD-ROMIII』直接由CD-ROM执行之安装法(转)

热门文章

  1. 如果精确判断一个IP是否被占用
  2. linux 分区的命名,Linux分区命名方案
  3. PCL点云库 点云拼接
  4. Redis入门笔记2
  5. 你要赢就必须有人输|人生
  6. 舍与得一种境界,一种人生
  7. ZZULIOJ1047
  8. selenium+python 遍历select下拉框获取value值
  9. python编程课程-吐血整理!程序员最爱的13个免费Python课程
  10. linux+redis实战个人学习笔记(一)