首页 > 解决方案 > CLion - 在 docker 容器内构建,但部署以执行/调试到不同的主机

问题描述

我已经构建了一个 x86 docker 容器,其中包含一个 armv8 gcc 工具链,用于交叉编译我的 C++ 软件。这个想法是我可以使用 docker 容器来交叉编译我的软件,然后将生成的二进制文件传输到 Raspberry Pi。这一切都很好,手动。

我想做的是以某种方式将它与 JetBrains CLion 集成。我知道可以将 docker 容器设置为远程主机(通过 ssh),但这会构建并尝试在容器中执行二进制文件。我想做的是在容器中构建二进制文件,然后将它们部署到另一个远程主机(即 Raspberry Pi)以执行,并最终进行调试。

CLion 是否支持适当的工作流程?是否可以配置 Toolchain 远程主机和单独的Deployment 远程主机?从我所看到的情况来看,CLion 只允许您为构建选择一个环境(即 CMake 配置),这就是生成的二进制文件最终执行的地方。

标签: dockerdeploymentraspberry-picross-compilingclion

解决方案


考虑这种替代设置:构建一个 armv8 容器(使用docker buildx)并包含一个本机 gcc 工具链。然后,docker 可以使用qemu-user-static 之类的东西在 qemu 中运行该容器。这允许您直接在容器中构建和调试。


推荐阅读