使用Docker多阶段多平台编译Qt
Docker 中的多平台如何工作?
在 Docker 中使用多平台功能的最简单方法是从命令行调用它。使用docker buildx,我们可以利用新的测试版功能。通过运行docker buildx使用 build --platform linux/arm/v7 -t arm-build 。此命令使用 ARMv7 仿真根据当前目录中的“Dockerfile”构建 docker 映像。在幕后,DockeDor 在 QEMU 虚拟化环境(qemu-user-static准确地说)中运行整个 Docker 构建过程。通过这样做,可以消除设置自定义 VM 的复杂性。一旦构建完成,我们甚至可以使用dockeckr runARMv7 模式自动启动容器。
多平台、多阶段和Qt
虽然多平台功能是一个很棒的独立功能,但与多阶段构建结合使用时它会变得更加强大。在单个 Dockerfile 中,我们能够混合和匹配平台并er在步骤之间进行复制。这个功能正是我们最终为 Screenly OSE 使用 Qt 构建过程所做的。
第一阶段:ARM
感谢Balena的优秀人员,我们能够在第一阶段使用 Raspbian 基础映像。我们可以使用多阶以下方法调用此步骤:
FROM --platform=linux/arm/v7 balenalib/rpi-raspbian:buster as builder
在上述步骤之后,我们可以像往常一样使用 Do段多cker 并执行各种RUN命令,例如安装包等。请注意,如果构建不是在 ARMv7 硬件上运行,则此容器正在使用 QEMU 模拟运行。在我们的例子中,我们使用命令来安装 Qt 构建依赖项。上述步骤还允许我们完平台全消除从磁盘映像(这是Qt Wiki建议的)或rsync物理 Raspberry Pi 的文件复制文件的需要。
第 2 阶段:x86
一旦我们在 ARM 步骤中安装了依赖项,我们就可以切换到构建器的原生编译 x86 架构以避免仿真,并使用以下行进行交叉编译:
FROM --platform=linux/amd64 debian:buster
现在,我们进入了有趣的部分。切换到 x86 后,我们可以复制上Qt一步中的文件。我们这样做是为了创建一个可用于 Qt 的 sysroot。我们通过运行以下命令来完成此步骤:
RUN mkdir -p /sysroot/usr /sysroot/opt /sysroo使用t/lib
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 远非简单。成功编译它需要很多步骤。
- ·谷歌携手印度信实Jio 推出Gemini Pro AI免费套餐 助力数百万用户拥抱先进AI
- ·苹果CEO库克:在中国达成2千兆瓦清洁能源目标
- ·标签: 抖音 无人机坠箭 黑话暗语 野生动植物保护
- ·标签: 滴滴自动驾驶 广汽埃安 R2 Robotaxi
- ·单块GPU实现4K每秒30帧,实时视频抠图再升级毛发细节到位
- ·云计算开发:Python3数学函数sqrt()方法详解
- ·云安全日报220224:IBM混合云数据库发现执行任意代码漏洞,需要尽快升级
- ·NBA中国与阿里云达成合作,将开发「NBA篮球大模型」
- ·《长安三万里》票房破11亿 追光动画打破魔咒
- ·OpenClaw发布新版本:DeepSeek V4Flash正式成为系统默认模型
- ·标签: 小米集团 AI手机 智能电动汽车 小米手机
- ·云安全日报210129:Ubuntu Linux内核发现敏感信息泄露漏洞,需要尽快升级
- ·标签: 欢聚集团 BIGO Ads Bigo Live 李婷
- ·标签: 维信诺 AMOLED OLED面板 消费电子
- ·标签: 中微公司 刻蚀设备 LPCVD ALD
- ·揭开AI部署神秘面纱:在云端和边缘
- ·标签: 白犀牛 L4自动驾驶 无人物流 融资
- ·准备好餐厅机器人了吗?它们也许就是答案
- ·云计算开发:Python练习实例-时间函数举例
- ·谷歌成2028洛杉矶奥运会官方云服务商,AI 将全面助力赛事体验升级
- ·OpenAI直播大秀语音指挥AI自动编程,也就比老罗TNT强亿点点
- ·20张图带你到HBase的世界遨游
- ·维基百科硬刚马斯克!GrokiPedia上线首日遭“人类知识”宣言狙击:我们不信AI,只信人类
- ·像「毒液」一样可变形、修复的机器人来了,轻松穿过1.5毫米细缝
- ·云安全日报210811:红帽Linux内核实时修订包发现特权提升漏洞,需要尽快升级
- ·标签: 去哪儿网 日本民宿 退费难 OTA平台
