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)所示:

圖(1) 拷貝libzmq\..\vs2015裡的*.props,*.xml到libzmq\...\vs2013
b) 将libzmq\builds\msvs\vs2013 的*.props檔案裡的 vs2015 改成 vs2013,如圖(2)所示:
圖(2) 修改libzmq\..\vs2013裡的*.props檔案
3、編譯x64版本的libzmq
a) 使用VS2013打開 libzmq\builds\msvc\vs2013\libzmq.sln檔案,點選VS2013工具欄上的 “配置管理器” x64 --> 版本為Release x64 --> OK
圖(3) 設定dll的版本與系統位數
b)右擊 libzmq --> 設定為啟動項目
圖(4) 将工程裡的libzmq設為啟動項
c) 按Ctrl+Shift+B,生成解決方案即可。
圖(5) 按Ctrl+shift+B生成解決方案
d) 在 libzmq\bin\x64\Release\v120\dynamic目錄裡,可以找到生成的libzmq.dll和libzmq.lib檔案。
圖(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