332000640 发表于 2022-11-11 10:26:43

如何在路由器中安装gcc呢?

请问大神如果在gcc中安装gcc呢?查找了好多资料,还是不行。

332000640 发表于 2022-11-11 10:34:46

目前在atx1800中安装了mosquitto 服务,扩了大容量的TF卡,打算在里面跑个自己开发的程序。需要gcc,请问技术人员,如何安装gcc

萝卜大侠 发表于 2022-11-11 11:58:48

332000640 发表于 2022-11-11 10:34
目前在atx1800中安装了mosquitto 服务,扩了大容量的TF卡,打算在里面跑个自己开发的程序。需要gcc,请问技 ...

你是想要交叉工具链?
gcc库本身就是带的

332000640 发表于 2022-11-11 13:06:45

是的,需要交叉编译,找不到系统的gcc,能指导一下吗?

332000640 发表于 2022-11-12 22:04:16

萝卜大侠 发表于 2022-11-11 11:58
你是想要交叉工具链?
gcc库本身就是带的

大哥,出个教程吧!我提问的gcc的问题。目前是这样的,使用go语言开发程序,但编译时需要gcc。公司打算拿这个路由器基于mqtt开发物联网产品。遇到了这个问题。如果这个问题解决不了只能选择使用软路由或者工控机代替了。我折腾了两天了没按上。gcc已经安装到$PATH下了,但还是提示gcc不是一个文件或目录。实在没办法招了

lindu 发表于 2022-11-13 14:06:23

在路由器上直接编译?很少这么做的吧,一般都是在电脑上交叉编译,你也许需要的是这样的教程https://zhuanlan.zhihu.com/p/338891206

比如arm64的路由器在电脑linux上类似命令CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-linux-musl-gcc CGO_LDFLAGS="-static" go build -a -v

332000640 发表于 2022-11-13 14:20:07

哈哈,没有想到有志同道合的。这个问题刚刚解决。go使用sqlite3数据库,需要cgo
是交叉编译。废了一番功夫。
vmware 虚拟机安装centos7,配置yum的epel源,yum -y install gcc-arm-linux-gnu
下载arm-glic.https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabi/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabi.tar
解压到root下
编译CGO_ENABLED=1 GOOS=linux GOARCH=arm GOARM=5 CC=arm-linux-gnu-gcc CGO_CFLAGS="-g -O2 --sysroot=/root/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabi/" CGO_LDFLAGS="-g -O2 --sysroot=/root/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabi/-static" go build -ldflags "-w -s" -o dbtest3 main.go
虽然有提示错误,但在atx1800中可正常运行。
下一步研究如何让程序开机自启。
不过还是希望官方能出个教程,关于gcc的。直接可以在路由器本地编译。不仅仅是路由器,还是一个服务器。

lindu 发表于 2022-11-13 14:38:45

arm的话建议使用arm-linux-musleabi-gcc会更好些,因为openwrt的libc是musl,而且musl支持静态编译

nihaolai 发表于 2023-1-14 02:57:33

332000640 发表于 2023-6-7 09:21:21

lindu 发表于 2022-11-13 14:38
arm的话建议使用arm-linux-musleabi-gcc会更好些,因为openwrt的libc是musl,而且musl支持静态编译 ...

是的,我在网上找的教程,很简单,使用musl编译成功了,没有报错,go-sqlite完美运行。感谢
页: [1]
查看完整版本: 如何在路由器中安装gcc呢?