golang在windows平臺使用zmq

舞林發表於2019-02-16

zmq官方推薦的golang庫,guthub地址是http://github.com/pebbe/zmq4
測試程式碼就不發了,上面的地址有具體示例,
前幾天碰到的問題是在windows 7 64位系統環境下go get github.compebbezmq4的時候無法完成
最開始可能是提示SOCKET未定義,
檢視這個包的程式碼可以發現這套庫使用了cgo,這是需要gcc等一些環境支援了

不推薦cygwin,因為我測試的時候,在這套環境下仍然無法編譯成功
這時需要安裝mingw,注意系統是32還是64的,一定要安裝對應的版本,否則無法編譯成功

環境裝好後編譯,再報錯找不到zmq.h
去zmq安裝目錄include資料夾下複製.h標頭檔案
放到mingw64libgccx86_64-w64-mingw324.9.1include資料夾下,
目錄可能不同,只要在mingw安裝目錄搜尋.h檔案,檢視目錄就知道了

再次編譯報錯,提示
ld.exe cannot find -lzmq
這是缺少zmq庫的意思,去zmq安裝目錄/lib資料夾下
複製libzmq-v120-mt-gd-4_0_4.lib到mingw64x86_64-w64-mingw32lib目錄下
改名為zmq.lib即可
zmq安裝目錄lib資料夾下有好多個lib,具體使用哪一個zmq官方網站有說明.
請見http://zeromq.org/distro:microsoft-windows

再次編譯,即可成功,
在%GOPATH%pkgwindows_amd64github.compebbe目錄下就能看到編譯好的zmq4.a檔案了

相關文章