windows平台下使用LiteIDE交叉编译golang

1,在windows环境下使用交叉编译,需要编译工具GCC,必须使用MinGW:

http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download

安装完成后运行MinGW Installation Mannger

选择安装mingw32-ggc-g++

安装完成后设置环境变量,系统环境变量PATH中靠前的位置添加C:\MinGW\bin(安装目录)

注:如果出现类似这样的错误counld not be located in the dynamic link libintl-8.dll,是这个dll冲突了,将所有其他目录libintl-8.dll全部更名,防止冲突,记得编译完之后要改回来不然影响其他程序正常运行,如下:

2,在golang(当前版本go 1.3.3)安装目录下C:\Go\src目录下新建cc.bat文件(名字任取),内容如下:

set CGO_ENABLED=0
:::::::::::::::::::::x86:::::::::::::::::::::::::::::::::::::::
set GOARCH=386

set GOOS=windows
call make.bat --no-clean
 
set GOOS=linux
call make.bat --no-clean
 
::set GOOS=freebsd
::call make.bat --no-clean
 
::set GOOS=darwin
::call make.bat --no-clean
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::x64:::::::::::::::::::::::::::::::::::::::
set GOARCH=amd64

set GOOS=linux
call make.bat --no-clean

::set GOOS=freebsd
::call make.bat --no-clean
 
::set GOOS=darwin
::call make.bat --no-clean
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
:::::::::::::::::::::::arm::::::::::::::::::::::::::::::::::::::
::set GOARCH=arm
::set GOOS=linux
::call make.bat --no-clean
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
::::::::::::::::::::::install gocode::::::::::::::::::::::::::::
set GOARCH=386
set GOOS=windows
go get github.com/nsf/gocode
pause

完了之后,双击运行批处理文件,一个漫长的编译过程,没有报错的话那么就恭喜你成功了:)

(查看bin目录和pkg目录是否有相关平台的执行文件和包生成)

3,打开LiteIDE x24选择编译linux可执行文件(上面的批处理文件并不是所有的平台都编译了,可执行增加)

然后编译程序,在源文件目录下发现linux可执行文件已经成功生成了!

本文来自:开源中国博客

感谢作者:这家伙很懒

查看原文:windows平台下使用LiteIDE交叉编译golang

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。