Skip to content

Instantly share code, notes, and snippets.

@kice
Created October 22, 2014 11:00
Show Gist options
  • Save kice/acce884c939d5aadce87 to your computer and use it in GitHub Desktop.
Save kice/acce884c939d5aadce87 to your computer and use it in GitHub Desktop.
ZeroMQ Go binding on Windows.txt
话说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