小菜鸟不知道如何表述题目。好绕...

依然是荣耀立方,可玩性很高的一个东西,可惜被荣耀放弃了。前文书说把立方兄root了,可以用root 用户SSH登陆。这篇是接着的

 

最近用golang写了一个采集器,可以通过tcp采集温湿度之类的传感器信息。不过是在电脑上用的。考虑到能耗问题(其实就是穷)就想放到立方上运行。

废话完了。介绍环境  用的win开发 +LiteIde(感谢国人大佬)。go 1.11.6  数据库 sqlite  大概这样

因为之前 从win移植到 linux 因为sqlite需要cgo的支持,交叉编译出了问题,所以在wls2 上的debian 也装了go 用来编译 linux下的版本(就为了躲交叉编译的问题,最后还是没躲过去  /大哭)

 

参照网络设置交叉编译环境

//安装需要的文件
apt-get install gcc-arm-linux-gnueabihf apt-get install g++-arm-linux-gnueabihf //下面是设置编译环境 export GOARCH=arm //定义CPU架构 export CGO_ENABLED=1 //设置cgo支持 export CC=arm-linux-gnueabihf-gcc //指定gcc编译器 export CXX=arm-linux-gnueabihf-g++ //指定g++编译器 go build //开始编译

ps:虽然能编译出来,但是不能运行,提示找不到文件。头疼....
以上命令感谢
https://blog.csdn.net/dengjin20104042056/article/details/53561654

 

经过排查应该是 指定的  arm-linux-gnueabihf-gcc , arm-linux-gnueabihf-c++  有问题。

参照网络说明 https://www.cnblogs.com/xiaotlili/p/3306100.html  

半懂不懂的琢磨换个编译器,试着 搜了一下 gcc-arm-linux 结果还真有一个 gcc-arm-linux-gnueabi

root@DESKTOP:/mnt/d/# apt-cache search gcc-arm-linux
gcc-arm-linux-gnueabi - GNU C compiler for the armel architecture
gcc-arm-linux-gnueabihf - GNU C compiler for the armhf architecture

那还等啥,直接装。

export CC=arm-linux-gnueabi-gcc    
export CXX=arm-linux-gnueabi-g++  

上面的环境变量该一下。 然后愉快的开始 build

然而现实又给了我一锤子

/lib/libc.so.6: version `GLIBC_2.28' not found

编译环境的GLIBC比立方使用的glibc版本高。跑不起来!! 哎,按照人家提示改吧,琢磨指定glibc版本。

我一个小菜鸟那搞的顶这种问题,都想装一个Gentoo去下面编译了(gentoo多版本支持简直太香了,就是装起来好麻烦)。

 

忽然看到有个提示,既然外链glibc不行,那直接静态编译,把需要支持的东西都编译到程序里就行了啊。(不好意思,太激动不记得是在什么网页上看到了。谢谢匿名侠)

说是因为go 本来就是静态编译的,但是因为要支持cgo所以,外链了支持库。

参照了下面三位大佬的文章

https://www.cnblogs.com/embedded-linux/p/11616048.html

https://johng.cn/cgo-enabled-affect-go-static-compile/

https://www.michaelapp.com/posts/2019/2019-02-12-cmake%E9%9D%99%E6%80%81%E7%BC%96%E8%AF%91%E5%92%8Cgolang%E9%9D%99%E6%80%81%E7%BC%96%E8%AF%91/

我总结一下啊

//编译时候敲这个命令先试试
go build -a -ldflags '-extldflags "-static"' .

//如果上面的不好用,就敲下面这个(尴尬,我就是这么洼的水平)
go build -a -ldflags '-linkmode "external" -extldflags "-static"'

在推荐一下 ,我相信认真看完会有收获的   https://johng.cn/cgo-enabled-affect-go-static-compile/

posted on 2021-01-10 23:11  GYbin  阅读(905)  评论(0编辑  收藏  举报