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可执行文件已经成功生成了!
有疑问加站长微信联系(非本文作者)