首页 > 解决方案 > Windows 开发环境是否可以访问使用 Windows 10 中的 Linux 子系统构建的库?

问题描述

我目前正在尝试将 MongoDB 连接到 Windows QT C++ 应用程序,并在此处遵循教程的教程。虽然提供了 Windows 安装说明,但为了避免安装 Visual Studio 或其他工具,我想知道我是否可以按照 Windows 10 的内置 Linux/Ubuntu 子系统上的包管理器或 Linux 说明并在我的Linux 环境,后来以某种方式从我的 Windows 开发环境中访问它们。

我不完全理解编译/字节码在 Windows 上的 Linux 子系统中是如何工作的,所以根据我对所涉及的各种系统的理解,我自己无法为这个问题拼凑出一个答案。任何解释或帮助将不胜感激。

标签: dllshared-librariescross-compiling

解决方案


您可以从 WSL 控制台窗口运行 Windows 可执行文件,也可以从 Windows 命令行/power shell 运行 Linux 可执行文件。并捕获输出、应用程序之间的管道等。但应用程序必须完全在一个平台上运行;您不能将 Windows 可执行文件与 Linux 库混合使用,反之亦然。

我不知道你将如何连接到 MongoDB,但是,如果它有一个像 MySql 这样的套接字接口,你可以在 WSL 上创建一个 bash 脚本,它运行你的 QT 应用程序来访问数据库,无论它在哪里。

但是,如果您使用 QT 作为 GUI,您将会遇到困难。人们已经能够通过在 Windows 主机上安装 X 服务器来获得在 WSL 上运行的 Linux 桌面,但您可能会发现这比它的价值更麻烦。


推荐阅读