作者:张富春(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源码来编译
- 编译二进制程序的时候记得使用静态链接,否则拷到别的位置可能无法运行