【笔记】macbook m2 芯片中使用 gcc docker 镜像来交叉编译

发布时间 2023-05-26 18:25:51作者: ahfuzhang

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!


一个 c 程序,如何在 macbook m2 芯片的笔记本上,编译成 linux amd64 的二进制格式呢?
用 gcc 的 docker 镜像轻松的解决了这个问题:

# 下载 gcc  镜像,并且是 linux amd64 环境的镜像
docker pull gcc:9.5.0@sha256:1fe3785219b9b0ea491fc6791c949eb604b48f8f91c078310bc3f007312de391
# see: https://hub.docker.com/layers/library/gcc/9.5.0/images/sha256-1fe3785219b9b0ea491fc6791c949eb604b48f8f91c078310bc3f007312de391?context=explore

# 启动容器,并映射目录
docker run -d -v /Users/ahfuzhang/code/daily_coding/2023-05-26/st_c_evhttp:/evhttp \
    --name="gcc_linux" -it gcc:9.5.0

# 进入容器
docker container exec -it gcc_linux bash
  • 这个镜像没有 cmake,可以自己下载 cmake源码来编译
  • 编译二进制程序的时候记得使用静态链接,否则拷到别的位置可能无法运行

? have fun.