使用Docker多阶段多平台编译Qt
Docker 中的多平台如何工作?
在 Docker 中使用多平台功能的最简单方法是从命令行调用它。使用docker buildx,我们可以利用新的测试版功能。通过运行docker buildx使用 build --platform linux/arm/v7 -t arm-build 。此命令使用 ARMv7 仿真根据当前目录中的“Dockerfile”构建 docker 映像。在幕后,Docker 在 QDoEMU 虚拟化环境(qemu-user-static准确地说)中运行整个 Docker 构建过程。通过这样做,可以消除设置自定义 VM 的复杂性。一旦构建完成,我们甚至可以使用docker runARMvck7 模式自动启动容器。
多平台、多阶段和Qt
虽然多平台功能是一个很棒的独立功能,但与多阶段构建结合使用时它会变得更加强大。在单个 Dockerfile 中,我们能够混合和匹配平台并在步骤之间进行复制er。这个功能正是我们最终为 Screenly OSE 使用 Qt 构建过程所做的。
第一阶段:ARM
感谢Balena的优秀人员,我们能够在第一阶段使用 Raspbian 基础映像。我们可以使用以下方法多阶调用此步骤:
FROM --platform=linux/arm/v7 balenalib/rpi-raspbian:buster as builder
在上述步骤之后,我们可以像往常一样使用 Doc段多ker 并执行各种RUN命令,例如安装包等。请注意,如果构建不是在 ARMv7 硬件上运行,则此容器正在使用 QEMU 模拟运行。在我们的例子中,我们使用命令来安装 Qt 构建依赖项。上述步骤还允许我平台们完全消除从磁盘映像(这是Qt Wiki建议的)或rsync物理 Raspberry Pi 的文件复制文件的需要。
第 2 阶段:x86
一旦我们在 ARM 步骤中安装了依赖项,我们就可以切换到构建器的原生 x8编译6 架构以避免仿真,并使用以下行进行交叉编译:
FROM --platform=linux/amd64 debian:buster
现在,我们进入了有趣的部分。切换到 x86 后,我们可以复制上一Qt步中的文件。我们这样做是为了创建一个可用于 Qt 的 sysroot。我们通过运行以下命令来完成此步骤:
RUN mkdir -p /sysroot/usr /sysroot/opt /sysroot/l使用ib
COPY --from=builder /lib/ /sysroot/lib/
COPY --from=builder /usr/include/ /sysroot/usr/include/
COPDoY --from=builder /usr/lib/ /sysroot/usr/lib/
COPY --from=builder /opt/vc/ sysroot/opt/vc/
我们现在拥有两全其美的优ck势。通过利用多步骤和多平台功能,我们生成了一个可用于构建 Qt 的 sysroot。由于我们在上一步中使用了功能齐全的 Raspbian 映像,我们甚至可以让 Qt 获取所有现有的库。
./configerure \
-sysroot /sysroot
正如我们在介绍中提到的,编译 Qt 远非简单。成功编译它需要很多步骤。
- ·标签: 一起教育科技 YQ 在线教育
- ·标签: 快手科技 可灵AI 程一笑 OneRec-V2
- ·投行解读谷歌最新cookie声明对顶尖广告技术公司影响
- ·ChatGPT 上线 “立即购买” 功能,让购物更便捷!
- ·云计算核心技术Docker教程:Docker配置 GitHub 操作
- ·谷歌计划投资 Anthropic,或将倾注 400 亿美元于 AI 竞争
- ·标签: 逐玉 腾讯视频 收视率造假 电视剧
- ·标签: 裕同科技 Gelbert 医药包装 个护包装
- ·微软Copilot打破Excel工作流壁垒:一键完成数据分析、分类与内容生成
- ·标签: 英伟达 Nemotron 3 MoE架构 强化学习
- ·标签: 京东 美的 抖音 二选一
- ·标签: SK海力士 HBM DDR5 NAND闪存
- ·云计算核心技术Docker教程:Java镜像以分离模式运行
- ·前英国首相苏纳克加盟微软与人工智能公司 Anthropic,担任高级顾问
- ·标签: 美团 王兴 AI AI_Agent
- ·解读容器的 2020:寻找云原生的下一站
- ·借鉴Clubhouse?Facebook开始公测其在线访谈应用程序Hotline
- ·标签: 大晓机器人 ACE研发范式 开悟世界模型3.0 具身超级大脑A1
- ·云计算:技能差距阻碍了采用
- ·韩国计划未来3年向AI数据及网络投资20万亿韩元 并给予其他支持
- ·标签: 薇美铺 WeMakePrice 趣天Qoo10 电商平台
- ·谷歌再次排挤AI研究员:伦理AI部门负责人因声援同事被锁定权限
- ·比MAE更强,FAIR新方法MaskFeat用HOG刷新多个SOTA
- ·云计算开发:Python练习实例-输出一个随机数
- ·机密文件:谷歌计划在所有平台分销游戏 包括Mac
- ·微软宣布8月2日推出云操作系统Windows 365
- ·国内云计算市场增速超全球近4倍 正进入新一轮发展周期
- ·OpenAI与苏尔能源联手投资250亿美元!阿根廷将迎来超级数据中心!
- ·无影云电脑启动大规模商用 已服务众多行业客户
- ·标签: OpenAI GPT-5.1-Codex-Max Gemini 3 Pro
- ·BBAug: 一个用于PyTorch的物体检测包围框数据增强包
- ·标签: 卓驭科技 大疆车载 Pre-IPO 港股上市
- ·如何对人脸识别进行法律规制
- ·标签: 英伟达 宝宝巴士 抖音电商 京东
- ·谷歌推出 Fitbit 全新 AI 教练:基于 Gemini 模型,打造个性化健身健康伴侣
- ·字节跳动发布 Seedream4.0:全新多模态图像创作模型
