是否可以在Linux机器上编译Windows二进制文件?

时间:2009-10-04 15:40:53

标签: windows linux cross-platform compilation

在我的工作中,所有项目数据都驻留在可从Linux和Windows机器(使用Samba)访问的NFS上。所有的工作都是在Linux上完成的,但是我想要为Windows编译一些工具,以便我可以使用Visual Studio进行调试。

我已经有了一个很好的makefile,它可以为使用不同目标的32位或64位Linux构建代码。假设我在NFS上的某个地方有所有外部库的Windows版本,并假设代码足够干净,可以在Windows下编译,是否可以使用现有的makefile在Linux上编译和链接我的程序?理想情况下,我想调用makefile一次,然后构建所有三个32位Linux,64位Linux和Windows。

添加加号将是使用任何Visual Studio元数据编译它以使其易于调试的选项。

3 个答案:

答案 0 :(得分:5)

是的,您可以使用MinGW来实现这一目标。

但是,您可能需要在makefile中调整一个或两个选项。

答案 1 :(得分:1)

我可以想到很多种可能性:

  • 您可以尝试在Wine下运行Visual Studio。如果Visual Studio未运行,您仍可以运行命令行工具。

  • 在虚拟机中运行Windows的完整安装。我在Windows上使用Linux完成了这项工作,但不是相反,但我确信它是可行的。

  • 使用VNC从Linux PC访问单独的Windows PC

  • 使用GCC的交叉版本代替Visual Studio

答案 2 :(得分:1)

您需要一个交叉编译包。您也可以使用Wine lib。