天天看点

win10编译ZeroMQ

    ZeroMQ是一个轻量级消息内核。它可用于C、C++、Python、.NET /Mono、Fortran 和 Java 语言。它运行在AIX ,FreeBSD的,基于HP - UX , Linux和MacOS下, OpenBSD系统, OpenVMS , QNX Neutrino,Solaris 和 Windows 操作系统。

    ZeroMQ的核心引擎为 libzmq,该引擎由C++编写,速度很快。由于从libzmq v4.3.0版本开始,ZeroMQ不能直接用Visual Studio2013编译,所以这里选择低版本的(v4.2.x),比如libzmq v4.2.5。

    关系如下:

版本 mingw编译 Visual Studio直接编译
libzmq v4.3.x
libzmq v4.2.x

    可以看到,libzmq v4.2.x 既可以mingw编译,也可以 Visual Studio用直接编译。

    其实,libzmq v4.3.x也可以在Win10上编译,不过,它需要先使用CMake将 libzmq工程转换为vs.sln工程,然后使用Visual Studio2013软件编译该工程即可,具体请查看这篇文件: win10编译 libzmq 4.3.4

    下面,介绍在win10上使用vs2013编译 libzmq v4.2.5工程的方法。

1、下载libzmq v4.2.5

    libzmq v4.2.5 官网地址: https://github.com/zeromq/libzmq/releases/tag/v4.2.5

2、修改libzmq配置

2.1 解压工程,并修改文件夹名称

    将zeromq-4.2.5.zip解压到当前文件夹,得到zeromq-4.2.5,然后将文件夹的名称由zeromq-4.2.5改名为libzmq。

2.2 拷贝vs2015/*.props .xml到vs2013/.props *.xml

    a) 拷贝libzmq\builds\msvc\vs2015里的*.props、*.xml到libzmq\builds\msvc\vs2013里,如图(1)所示:

win10编译ZeroMQ

图(1) 拷贝libzmq\..\vs2015里的*.props,*.xml到libzmq\...\vs2013

    b) 将libzmq\builds\msvs\vs2013 的*.props文件里的 vs2015 改成 vs2013,如图(2)所示:

win10编译ZeroMQ

图(2) 修改libzmq\..\vs2013里的*.props文件

3、编译x64版本的libzmq

    a) 使用VS2013打开 libzmq\builds\msvc\vs2013\libzmq.sln文件,点击VS2013工具栏上的 “配置管理器” x64 --> 版本为Release x64 --> OK

win10编译ZeroMQ

图(3) 设置dll的版本与系统位数

    b)右击 libzmq --> 设置为启动项目

win10编译ZeroMQ

图(4) 将工程里的libzmq设为启动项

    c) 按Ctrl+Shift+B,生成解决方案即可。

win10编译ZeroMQ

图(5) 按Ctrl+shift+B生成解决方案

    d) 在 libzmq\bin\x64\Release\v120\dynamic目录里,可以找到生成的libzmq.dll和libzmq.lib文件。

win10编译ZeroMQ

图(6) 得到的libzmq.dll和 libzmq.lib

4、附录

    如果没有编译环境,则可以直接使用libzmq GitHub官网已经编译好的的版本,不过,它只有最新的版本才有下载。

    libzmq v4.3.4 Win10 X64版本 https://github.com/zeromq/libzmq/releases/download/v4.3.4/libzmq-v140-4_3_4.zip