以windows系统为例:
1.在windows上安装golang编译器,下载地址:https://golang.google.cn/dl/.默认安装在c盘根目录
2.下载golang编译器源码,地址:https://golang.google.cn/dl/。
3.解压缩源码,打开cmd目录定位到源码目录go/src,设置编译参数:
set GOOS=linux
set GOARCH=arm
set GOROOT_BOOTSTRAP=C:\Go
set GOROOT_BOOTSTRAP的设置根据自己宿主机上golang的安装目录设定
4.cmd下运行make.bat,开始编译。
5.编译成功后,会在源码目录生成armv5的二进制文件,最好是把go/bin/linux_arm中的go和gofmt复制到go/bin下,这样的目录结构才符合习惯。由于同时还生成了windows版的二进制,删除即可。
6.最后把文件夹go打包成tar.gz。
7.安装很简单,解压并添加运行环境变量。
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
export PATH=$PATH:/usr/local/go/bin
视频:https://whycan.cn/files/members/1315/gotest2_20190929-1501.7z
最近编辑记录 kekemuyu (2019-09-29 15:22:16)
离线
感谢分享!
我先来试一试.
-----------------
看了一下, 这个是用 go 编译 go?
go是自举的
离线
晕哥 说:感谢分享!
我先来试一试.
-----------------
看了一下, 这个是用 go 编译 go?go是自举的
是的,从1.5开始才自举的,之前是用c实现的go编译器。
离线
C:\Users\Administrator> set GOOS=linux
C:\Users\Administrator> set GOARCH=arm
C:\Users\Administrator> set GOROOT_BOOTSTRAP=C:\Go
C:\Users\Administrator> cd c:\go\src
c:\Go\src>make.bat
Building Go cmd/dist using C:\Go
Building Go toolchain1 using C:\Go.
go tool: no such tool "compile"
go tool: no such tool "compile"
go tool dist: FAILED: C:\Go\bin\go install -gcflags=-l -tags=math_big_pure_go co
mpiler_bootstrap bootstrap/cmd/...: exit status 2
系统找不到指定的批处理标签 - fail
请问这是为什么呢?
一开始我用 https://dl.google.com/go/go1.13.1.windows-amd64.zip 不行,
后来改用 https://dl.google.com/go/go1.13.1.windows-amd64.msi 还是不行。
离线
https://whycan.cn/files/members/3/2019-09-29_171347.png
C:\Users\Administrator> set GOOS=linux C:\Users\Administrator> set GOARCH=arm C:\Users\Administrator> set GOROOT_BOOTSTRAP=C:\Go C:\Users\Administrator> cd c:\go\src c:\Go\src>make.bat Building Go cmd/dist using C:\Go Building Go toolchain1 using C:\Go. go tool: no such tool "compile" go tool: no such tool "compile" go tool dist: FAILED: C:\Go\bin\go install -gcflags=-l -tags=math_big_pure_go co mpiler_bootstrap bootstrap/cmd/...: exit status 2 系统找不到指定的批处理标签 - fail
请问这是为什么呢?
一开始我用 https://dl.google.com/go/go1.13.1.windows-amd64.zip 不行,
后来改用 https://dl.google.com/go/go1.13.1.windows-amd64.msi 还是不行。
源码包下了吗?你的宿主安装路径是c:/go吗?不要用宿主里的src,那个应该不是源码,要用官方下载的源码包。你看我的视频,我是把源码包解压到了另外的文件夹,不要和宿主机里的go目录混淆了。
最近编辑记录 kekemuyu (2019-09-29 20:26:08)
离线
这个我就不懂了,但是这个gif录屏软件使用了特殊的算法,使得同等质量同等时常视频比mp4体积小好几倍,它是只有屏幕变化的部分占空间,不变的部分几乎不占空间。你可以试试screentogif,比较一下。
离线
在host os 里面直接可以编译 target 可运行的程序,感觉这个步骤都省了,譬如在ubuntu里面编译test.go:
GOARM=7 GOARCH=arm GOOS=linux go build test.go
离线
在host os 里面直接可以编译 target 可运行的程序,感觉这个步骤都省了,譬如在ubuntu里面编译test.go:
GOARM=7 GOARCH=arm GOOS=linux go build test.go
当然可以交叉编译,这里只是测试armv5平台运行go编译器的可行性
最近编辑记录 kekemuyu (2019-11-18 12:13:41)
离线