天天看點

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