1,在windows环境下使用交叉编译,需要编译工具GCC,必须使用MinGW:
安装完成后运行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可执行文件已经成功生成了!
有疑问加站长微信联系(非本文作者)