首页 > 其他分享 >【笔记】macbook m2 芯片中使用 gcc docker 镜像来交叉编译

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

时间:2023-05-26 18:35:20浏览次数:45  
标签:gcc m2 编译 linux 镜像 docker

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

标签:gcc,m2,编译,linux,镜像,docker
From: https://www.cnblogs.com/ahfuzhang/p/17435538.html

相关文章

  • Docker 镜像减少体积的思路和方法
    Docker镜像减少体积的思路和方法背景有一个项目感觉镜像有点大这边同事喊着一起帮忙处理一下.今天基本上就在客户现场进行处理了.想着应该把自己想到的东西整理一下.整体思路1.清理dockerfile同级目录内的文件,仅保留必须文件dockerbuild时会进行sendfile的......
  • docker 安装elasticsearch7.9 和 SkyWalkin
    1、相关地址:官网:https://skywalking.apache.org/下载:https://skywalking.apache.org/downloads/Github:https://github.com/apache/skywalking文档:https://skywalking.apache.org/docs/main/v9.1.0/readme/ 其他版本文档,先进https://skywalking.apache.org/docs/main/,选择版本,查......
  • docker 快速部署 Jenkins
    version:'3'services:jenkins:image:jenkins/jenkinscontainer_name:myjenkinsrestart:alwayshostname:myjenkins_hostports:-18181:8080#界面端口-18182:50000#apivolumes:-./jenkins_mount:/var......
  • 交叉编译内存分析工具 valgrind3.21.0 (aarch64-linux-gnu-gcc)
    交叉编译工具编译机器:ubuntuServer22LTS编译目标:ARM64开发板https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/注:如果使用7.5以上的GCC,请到ARM官网下载:https://developer.arm.com/downloads/-/gnu-agcc版本(7.5)需对应板子......
  • 宿主机套用 docker 容器中安装 PHP 的开发环境
    docker可以把运行环境整体打包,但是在开发时,IDE往往还要指定宿主机上的PHP可执行文件,这样,安装php扩展时,要装两遍,比较麻烦.如果在宿主机上运行容器中的命令?可以借助dockerexec-it<container_name><command><args>命令,写个名为php的shell脚本,里面写入这行代......
  • docker部署gitlab私有仓库
    官方文档https://docs.gitlab.com/ee/install/docker.html编写docker-compose文件version:'3.6'services:web:image:'gitlab/gitlab-ee:latest'restart:alwayshostname:'192.168.31.160'ports:-'5111:80&......
  • 动力节点Docker实战入门教程(4)Docker容陈可人
    根据B站上动力节点的最新版Docker教程整理了学习笔记,持续更新中~4Docker容器4.1容器基础4.1.1容器启动流程通过dockerrun命令可以启动运行一个容器。该命令在执行时首先会在本地查找指定的镜像,如果找到了,则直接启动,否则会到镜像中心查找。如果镜像中心存在该镜像,则会下载到本地......
  • 修改docker默认存储路径
    docker消耗内存太严重!!必须申请一个大硬盘,然后修改默认存储路径  停止docker服务servicedockerstopcopy数据到新的存放路径cp-r/var/lib/docker/* /data/docker重命名/var/lib/docker  mv/var/lib/docker/var/lib/dockerbak创建软连接ln-......
  • 离线安装docker-compose
    1.github下载版本https://github.com/docker/compose/releases 2.解压  3. 移到指定目录mvdocker-compose-linux-x86_64/usr/local/bin///修改文件名mvdocker-compose-linux-x86_64docker-compose//授权sudochmod+x/usr/local/bin/docker-compose//查......
  • docker login harbor x509: certificate signed by unknown authority
    前言dockerloginharborx509:certificatesignedbyunknownauthority解决打开/etc/docker/daemon.json,如果没有这个文件新增即可vim/etc/docker/daemon.json加入insecure-registries{"insecure-registries":["harbor.xxxx.com:1111"]}重启dockersudo......