Skip to content

Building on Windows

Yuxing Li edited this page Nov 6, 2013 · 23 revisions

This article is a stub and is based on the discussion in #119!

Building on windows requires mingw, currently it is only possible to use 32 bit version of mingw for qt5, so for now we are confined to 32 bit setup, even on 64 bit Windows.

MingW

Qt5 (optional)

Go

Environment Variable

  • set GOARCH=386
  • set CPATH=C:\MinGW\include;C:\Qt\Qt5.1.1\5.1.1\mingw48_32\include;C:\Qt\Qt5.1.1\5.1.1\mingw48_32\include\QtCore\5.1.1\QtCore
  • set LIBRARY_PATH=C:\MinGW\lib;C:\Qt\Qt5.1.1\5.1.1\mingw48_32\lib
  • set PATH=C:\Qt\Qt5.1.1\5.1.1\mingw48_32\bin;C:\MinGW\bin;%path% (!important, put Qt's path in front of MinGW's path otherwise it'll complain libstdc++-6.dll missing as Qt's path contains a different libstd++-6.dll)

Python3

$ pexports /c/Windows/SysWOW64/python33.dll >py33.def
$ dlltool -D python33.dll -d py33.def -l libpython33.a
$ cp libpython33.a c:/mingw/lib

libffi

  • Start msys shell(usually located at C:\MinGW\msys\1.0\msys.bat) and run:
$ mount c:/mingw32 /mingw
$ ./configure --prefix=/mingw
$ make
$ make install

Change cgo.go (lime/3rdparty/libs/gopy/lib/cgo.go)

package py

// #cgo CFLAGS: -Ic:/python33/include
// #cgo LDFLAGS: -Lc:/Python33/libs -Lc:/mingw/lib -ldl -lpython33
// #cgo pkg-config: libffi
import "C"

Run go test from gopy as stated in regular build instructions.