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

txj236 · · 1188 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

摘要: 在Windows平台使用LiteIDE编译golang程序为*.exe可执行文件,但是我们有时候需要编译linux下可执行的程序怎么办,我们在LiteIDE下加载跨编译选项,编译报错go build runtime: linux/amd64 must be bootstrapped using make.bat,我们如何解决这个问题呢?

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可执行文件已经成功生成了!


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:txj236

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

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1188 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传