【发布时间】:2019-11-09 07:41:39
【问题描述】:
我想从运行在 W10 上的 QT 应用程序执行 Linux 二进制文件。
在 QT 中,我们有 QProcess 来启动其他进程。但是,由于我的二进制文件适用于 Linux,因此我想到了两种可能的方法:
- 在容器中运行二进制文件(即:Docker、Kubernetes、Singularity...)。
- 通过 WSL (Ubuntu) bash 执行二进制文件。
无论如何,QT 应用程序应该启动进程(容器或 bash),然后这个进程应该启动我的二进制文件。
我一直在网上搜索,但找不到相关内容,这让我觉得这很困难。出于这个原因,我发布这个问题是为了了解所提议的方法的可行性。
已编辑
看起来 WSL 更容易,问题是用户必须安装它。除了通过 apt-get 安装新软件时需要 sudo 密码。
我必须执行的二进制文件仅适用于 Linux,假设交叉编译因其复杂性而被取消。此外,此应用程序需要 CGAL、BOOST、MPI 等软件。
【问题讨论】:
-
这个 linux 二进制文件运行后你期望什么?你得到输出,然后在windows应用程序中使用,或者让它运行可以吗?我想这会使解决方案走向不同的方向。
-
@atline 输出写在一系列目录中,我应该能够从 Windows 应用程序访问这些目录。在 WSL 的情况下,很容易从目录中获取数据。而对于容器,我应该将数据复制到一些可访问的地方。
-
所以我想在容器和窗口之间绑定挂载是一种方式,请看我的回答。
标签: qt docker kubernetes containers windows-subsystem-for-linux