Created
October 22, 2014 11:00
-
-
Save kice/acce884c939d5aadce87 to your computer and use it in GitHub Desktop.
ZeroMQ Go binding on Windows.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
话说ZeroMQ是一个强大的库,可以跨平台和垮语言进行传输数据。 | |
最近在弄Go语言,google一下ZMQ还真有Go绑定:http://zeromq.org/bindings:go | |
里面已经有人完成了Go的封装,这里就直接下载代码: | |
go get github.com/pebbe/zmq4 | |
同步完代码提示说没有gcc,不能用。 | |
因为向来不是很希望用Cygwin,于是就使用MinGW。不过在官网只有32位版(Go是用64位,家里也是64位Win8.1),还好有mingw64。 | |
搭建还是很简单: | |
1、去这里下载:http://sourceforge.net/projects/mingw-w64/files/ 进去 /Toolchains targetting Win64/Personal Builds/ 选择一个版本下载。 | |
这里我选的是rubenve的gcc-4.8-release中mingw64 on win64(点我下载) | |
2、解压到C:\MinGW64(推荐,毕竟官方说不要有空格和其他奇怪的东西混进去) | |
3、将 C:\MinGW64\bin\ 添加到Path中 | |
4、在cmd中运行 gcc -v。测试成功就下一步。 | |
5、安装 ZeroMQ 4.x版本(如果用其他版本的需要更换GO封装) | |
6、将 ZMQ安装目录\include\ 下的两个头文件复制到 C:\MinGW64\mingw\include\ 下 | |
7、将 ZMQ安装目录\lib\ 下的合适库文件复制到 C:\MinGW64\mingw\lib\ 下并改名为 zmq.lib http://zeromq.org/distro:microsoft-windows 里面有对lib进行介绍。 推荐使用 Visual Studio 2010 SP1编译的库文件。要求没有那么高。 | |
8、将 ZMQ安装目录\bin\ 下对于的DLL文件复制到合适的地方。不需要改名。 | |
这里就搭建完成了。新建测试代码。 | |
// zmqDemo.go | |
package main | |
import ( | |
"fmt" | |
"github.com/pebbe/zmq4" | |
) | |
func main() { | |
fmt.Println("HelloZeroMQ") | |
maj, min, pat := zmq4.Version() | |
fmt.Printf("ZeroMQ Version %d.%d.%d", maj, min, pat) | |
} | |
目前用的版本是4.0.4。如果需要更换lib文件可能需要将 %GOPATH%/pkg/windows_amd64/github.com/pebbe 下的zmq.a 文件删掉。 | |
这里是作者写文档:http://godoc.org/github.com/pebbe/zmq4 值得去参考。而且还附带了example,可以去看看。 | |
因为ZeroMQ 的64位版最低要求是Windows Vista(不过现在也没有几个人用 64位的XP)。可能需要32位版。 | |
这里仅需要将zmq的库文件和GCC编译器换成32位即可,步骤都是一样。 | |
GCC 32位在http://sourceforge.net/projects/mingw-w64/上也有,安装方法和64位版本一样。需要最新版的同学,可以到官网进行下载(写这篇文章版本号是4.8.1)。安装目录默认在 C:\MinGW\。只需要将C:\MinGW\bin\ 放到Path就可以了。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment