【问题标题】:Compile on Windows to Linux using MinGW?使用 MinGW 在 Windows 上编译到 Linux?
【发布时间】:2018-06-29 22:01:25
【问题描述】:

有没有办法在 Windows 上使用 MinGW 和 cmd 编译 Linux 程序?我真的需要这样做。我将如何链接库?

编辑:我要链接的库是 SFML。它们应该在 Linux 和 MacOSX 上兼容。是否至少有一个类似的编译器可以编译到这三个平台?

【问题讨论】:

  • 安装更容易,例如VMWare 或 VirtualBox,设置 Linux VM,并在 VM 内进行开发(或至少编译和链接)。
  • 可能是this answer可以帮到你
  • 你不能用 mingw 提供的编译器来做,但是可以构建一个交叉编译器工具链并使用它,然而,这是一个巨大的痛苦。如前所述,使用虚拟机要容易得多(或者如果在 Windows 10 上使用 Linux for Windows 软件包)。
  • MinGW 是 GCC 的一个版本(端口),专门用于为 Windows 构建程序。您实际上可以使用它来使用 linux 构建 Windows,这与您想要做的相反:-) 这称为交叉编译。如果您想以另一种方式执行此操作,则需要找到正确的交叉编译器。或者只是像以前的 cmets 说的那样使用虚拟机。如果您告诉我们为什么需要使用 Windows 为 Linux 编译,这将有助于我们缩小解决方案。
  • 你需要链接哪些库。它们是你写的吗?你有它们的 Linux 版本还是它们是本地 Windows 库?

标签: c++ c mingw


【解决方案1】:

MinGW 编译为引用 Windows NT ABI 的可执行文件。一般来说,在 MinGW 中编译的程序将无法在 Linux 上使用。您需要一个相反方向的交叉编译器,即在 Windows 上运行但编译为引用 Linux ABI 的可执行文件。或者,只需要一台破旧的计算机,将其启动到 Arch 并在那里编译您的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    相关资源
    最近更新 更多