forum.gl-inet.cn

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
    查看: 770|回复: 9

    [问题反馈] 如何在路由器中安装gcc呢?

    [复制链接]

    2

    主题

    10

    帖子

    50

    积分

    注册会员

    Rank: 2

    积分
    50
    发表于 2022-11-11 10:26:43 | 显示全部楼层 |阅读模式
    请问大神如果在gcc中安装gcc呢?查找了好多资料,还是不行。
    回复

    使用道具 举报

    2

    主题

    10

    帖子

    50

    积分

    注册会员

    Rank: 2

    积分
    50
     楼主| 发表于 2022-11-11 10:34:46 | 显示全部楼层
    目前在atx1800中安装了mosquitto 服务,扩了大容量的TF卡,打算在里面跑个自己开发的程序。需要gcc,请问技术人员,如何安装gcc
    回复

    使用道具 举报

    76

    主题

    2144

    帖子

    9639

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    9639

    官方人员

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

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

    使用道具 举报

    2

    主题

    10

    帖子

    50

    积分

    注册会员

    Rank: 2

    积分
    50
     楼主| 发表于 2022-11-11 13:06:45 | 显示全部楼层
    是的,需要交叉编译,找不到系统的gcc,能指导一下吗?
    回复

    使用道具 举报

    2

    主题

    10

    帖子

    50

    积分

    注册会员

    Rank: 2

    积分
    50
     楼主| 发表于 2022-11-12 22:04:16 来自手机 | 显示全部楼层
    萝卜大侠 发表于 2022-11-11 11:58
    你是想要交叉工具链?
    gcc库本身就是带的

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

    使用道具 举报

    2

    主题

    8

    帖子

    54

    积分

    注册会员

    Rank: 2

    积分
    54
    发表于 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
    回复

    使用道具 举报

    2

    主题

    10

    帖子

    50

    积分

    注册会员

    Rank: 2

    积分
    50
     楼主| 发表于 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/comp ... m-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的。直接可以在路由器本地编译。不仅仅是路由器,还是一个服务器。
    回复

    使用道具 举报

    2

    主题

    8

    帖子

    54

    积分

    注册会员

    Rank: 2

    积分
    54
    发表于 2022-11-13 14:38:45 | 显示全部楼层
    arm的话建议使用arm-linux-musleabi-gcc会更好些,因为openwrt的libc是musl,而且musl支持静态编译
    回复

    使用道具 举报

    0

    主题

    834

    帖子

    1684

    积分

    禁止发言

    积分
    1684
    发表于 2023-1-14 02:57:33 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复

    使用道具 举报

    2

    主题

    10

    帖子

    50

    积分

    注册会员

    Rank: 2

    积分
    50
     楼主| 发表于 2023-6-7 09:21:21 | 显示全部楼层
    lindu 发表于 2022-11-13 14:38
    arm的话建议使用arm-linux-musleabi-gcc会更好些,因为openwrt的libc是musl,而且musl支持静态编译 ...

    是的,我在网上找的教程,很简单,使用musl编译成功了,没有报错,go-sqlite完美运行。感谢
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|gl-inet.cn ( 粤ICP备18130956号 )

    GMT+8, 2024-5-4 10:07 , Processed in 0.023418 second(s), 25 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表