使用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
在上述步骤之后,我们可以像往常一样使用 Dock段多er 并执行各种RUN命令,例如安装包等。请注意,如果构建不是在 ARMv7 硬件上运行,则此容器正在使用 QEMU 模拟运行。在我们的例子中,我们使用命令来安装 Qt 构建依赖项。上述步骤还允许我们完全平台消除从磁盘映像(这是Qt Wiki建议的)或rsync物理 Raspberry Pi 的文件复制文件的需要。
第 2 阶段:x86
一旦我们在 ARM 步骤中安装了依赖项,我们就可以切换到构建器的原生 x编译86 架构以避免仿真,并使用以下行进行交叉编译:
FROM --platform=linux/amd64 debian:buster
现在,我们进入了有趣的部分。切换到 x86 后,我们可以复制上一步中的Qt文件。我们这样做是为了创建一个可用于 Qt 的 sysroot。我们通过运行以下命令来完成此步骤:
RUN mkdir -p /sysroot/usr /sysroot/opt /sysroot/lib
C使用OPY --from=builder /lib/ /sysroot/lib/
COPY --from=builder /usr/include/ /sysroot/usr/include/
COPY --frDoom=builder /usr/lib/ /sysroot/usr/lib/
COPY --from=builder /opt/vc/ sysroot/opt/vc/
我们现在拥有两全其美的优势。通过利用多ck步骤和多平台功能,我们生成了一个可用于构建 Qt 的 sysroot。由于我们在上一步中使用了功能齐全的 Raspbian 映像,我们甚至可以让 Qt 获取所有现有的库。
./configure \
 er; -sysroot /sysroot
正如我们在介绍中提到的,编译 Qt 远非简单。成功编译它需要很多步骤。
(责任编辑:电脑办公)
- 标签: 斯巴鲁 三菱材料 TDK 日本出口管制
- Grammarly 推出 AI 写作助手,助力学生提升论文质量
- Infosys 推出 Topaz Fabric:打造企业 IT 运营的智能化新平台
- 标签: 摩尔线程 GPU 科创板 AI
- Figure人形机器人完成超10亿美元C轮融资,估值达390亿美元
- 新的谷歌云服务旨在为网络带来零信任安全
- 微软Xbox云游戏服务将从周二开始在iPhone、iPad和PC上开测
- 华盛昌宣布:“DeepSense 深度感测大模型” 通过备案
- 昔日最强机皇宣告终结:鼎盛期苹果也不是对手!
- IDC:2021年中国智能家居设备市场出货量同比增长14.6%
- 标签: 小米汽车 宋钢 于立国 雷军
- 标签: 小米澎程 卢伟冰 智能汽车 自动驾驶测试
- Perplexity 大胆收购 Chrome!AI 浏览器大战一触即发!
- 谷歌和脸书在美面临的五起反垄断诉讼:规模和关键指控分别为何
- 标签: 晶合集成 合肥建投 奇瑞汽车 歌尔股份
- 云安全日报220216:IBM SaaS集成平台发现Root特权提升漏洞,需要尽快升级
- 亚马逊大裁员,云业务受影响
- 标签: 长安启源 长安启源Q07 天枢智能激光版 全球车规级芯片
- 商汤科技推出Claude API用户迁移计划 提供5000万Token免费体验
- Perplexity AI 将 Comet 浏览器扩展至印度 Pro 用户
- AI 技术简化动漫制作流程,ToonComposer实现自动上色和生成动画 views+
- 过半作者是华人!Google Research图像表征模型ALIGN霸榜ImageNet views+
- 普通却自信是什么梗 views+
- 标签: 瑞幸咖啡 大钲资本 Costa 可口可乐 views+
- 金山云Q2营收21.7亿元创单季新高 同环比持续双增 views+
- 中国量子计算原型机九章问世 views+
- 标签: 红果短剧 王凯沐 徐轸轸 字节跳动 views+
- 滴滴AI出行助手“小滴Beta v0.8版本”开启公测 MCP服务上线 views+
- 通义千问三款主力大模型又降价,最高直降85% views+
- 标签: 小红书 阿里 字节 腾讯 views+
