【ZMQ/QT】Windows11 + Qt 安装配置zmq(亲测可用)

目录

0.背景

1.思路总览

2.详细操作

1)windows11下载vcpkg(C/C++库管理工具,为了下载zmq方便)

2)vcpkg下zeromq

3)下载后拷贝到工程路径

4)在qt项目的pro文件中增加相关lib和include的链接


0.背景

环境:windows11 + qt5.14.0(MinGW-64bit) + 跨平台链接ZMQ

我的项目概述:zmq主要是做通信,原本我的Server端和Client端都是在linux上(ubuntu22.04),但由于外部需求,Client端需要转移到Windows11,Server仍在linux上。

跨平台移植Client端的前提:windows11上有zmq,安装配置的过程踩了很多坑,最后才装好,所以整理此篇zmq安装配置过程,从零搭建zmq的环境,到qt上的使用。

DeepSeek介绍zmq:

ZeroMQ(简称 ZMQ)是一个高性能、异步消息传递库,用于构建分布式和并行应用。它提供了类似Socket的API,但支持多种通信模式,比原始TCP/UDP更灵活。

1.思路总览

1)windows11下载vcpkg(为了下载zmq方便)

2)vcpkg下zeromq(获得include和lib文件)

3)下载后拷贝到工程路径

4)在qt项目的pro文件中增加相关lib和include的链接

2.详细操作

1)windows11下载vcpkg(C/C++库管理工具,为了下载zmq方便)

【用的是git bash 环境】

i)克隆vcpkg仓库

git clone https://github.com/microsoft/vcpkg.git

2)vcpkg下zeromq

i)进入vcpkg文件夹

cd vcpkg/

ii)下载czmq和zeromq(实际用到的是zeromq,我第一次下错了,下成czmq了)

./vcpkg.exe install czmq

./vcpkg.exe install zeromq

下载czmq时较慢(我用了3分钟左右),zeromq时较快(因为之前下过czmq),需耐心等待

iii)下载成功后,可以在vcpkg的packages文件夹中看到对应的包

3)下载后拷贝到工程路径

i)进入zeromq的文件夹中,我需要用到include文件夹和lib文件夹

lib文件夹中,只拷贝【libzmq-mt-4_3_5.lib】文件即可,【pkgconfig】文件夹拷不拷都行

ii)拷到我的项目下(我的项目叫RbtSurgicalRecords),我自己起了一个名字【libzmq-435】,然后从vcpkg中将include和lib拷过来即可

4)在qt项目的pro文件中增加相关lib和include的链接

在.pro文件中,增加INCLUDEPATH和LIBS

cpp 复制代码
INCLUDEPATH += $$PWD/libzmq-435/include
win32 {
LIBS += -L$$PWD/libzmq-435/lib/ -llibzmq-mt-4_3_5
}

然后在我的Client端就可以包含头文件使用了

cpp 复制代码
#include <zmq.h>

安装配置后就可以在qt代码中使用了

zmq官网:ZeroMQ | C

安装vcpgk参考:Vcpkg C/C++库管理工具安装和使用教程(链接VS2019)_vcpkg 安装-CSDN博客

--END--

相关推荐
大丑哥1 天前
QT QML 中实现高亮功能
qt
小白不想画工图1 天前
银河麒麟V10系统安装QT5.12
linux·开发语言·qt·银河麒麟
mengzhi啊1 天前
QEventLoop loop配合loop.exec();替代while(1)。电脑cpu占用为0,使用while(1)cpu占用率100%
c++·qt
@福者1 天前
C++ QT 入门
开发语言·c++·qt
长友cy1 天前
Qt官方示例BluetoothLowEnergyGame源码阅读
开发语言·qt
Quz1 天前
QML 日期解析:字符串转日期与时间戳互转
qt
Coodor1 天前
信创系统基于QT5操作NFC读写器
开发语言·qt·智能卡·nfc读写器·yw-607hc
励志不掉头发的内向程序员1 天前
【LibreCAD 2D架构】从鼠标点击到屏幕像素:LibreCAD绘图架构全链路解析之Action与命令系统
linux·开发语言·c++·qt·学习·系统架构
沧海一笑-dj1 天前
【Qt】Qt6.11安装教程详解
qt·qt creator·qt6·qt安装·qt安装教程
似水এ᭄往昔1 天前
【QT】--常用控件(QWidget的核心属性)
服务器·开发语言·qt