首先为什么会想着用docker来进行交叉编译呢?
- 因为Mac的darwin 系统在进行向mipsle平台编译时,很难找到合适的交叉编译链
- Linux 平台下比较容易向mipsle平台编译,也有很多博客可以参考
创建Dockerfile文件
FROM ubuntu:18.04
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y wget
RUN apt-get install -y tar
RUN apt-get install -y vim
RUN wget https://golang.google.cn/dl/go1.18.5.linux-amd64.tar.gz
RUN tar xfz go1.18.5.linux-amd64.tar.gz -C /usr/local
ENV GO111MODULE=on \
CGO_ENABLED=1 \
GOOS=linux \
GOARCH=mipsle \
CC=/opt/bin/mipsel-linux-uclibc-gcc \
CXX=/opt/bin/mipsel-linux-uclibc-g++ \
GOROOT=/usr/local/go \
GOPATH=$HOME/gowork \
GOBIN=$GOPATH/bin \
PATH=/opt/bin \
PATH=/bin:/usr/bin:$PATH \
PATH=$GOPATH:$GOBIN:$GOROOT/bin:$PATH
WORKDIR /encryptionGateway
COPY go.mod .
COPY go.sum .
COPY mipsel-linux-uclibc.tar.xz .
RUN tar xvf mipsel-linux-ucli

本文介绍了如何利用Docker解决在Mac上进行Golang向mipsle平台交叉编译的难题。通过创建Ubuntu环境的Dockerfile,安装必要的工具和设置环境变量,然后编译项目并拷贝二进制文件到宿主机,实现交叉编译。
最低0.47元/天 解锁文章
721

被折叠的 条评论
为什么被折叠?



