我有几个使用GNU工具链(Automake,Conf,Flex,Flex,Bison,GCC等)在Linux和OSX上开发的几个免费软件/开源库,但是我偶尔会得到提供Windows DLLS的请求。我希望能够提供这些人,而无需花费大量时间和金钱来使用Windows Visual Studio开发。我确实有一台Windows XP虚拟机,我也知道该软件是可移植的,因为偶尔我会得到修补程序以使其在Windows中构建。

我应该使用哪些方法或工具?在Linux上交叉编译?使用Visual Studio Express还是其他?我更喜欢从SVN存储库完全自动化的东西。我不将Cygwin视为解决方案,因为它似乎并没有提供Windows开发人员所需的内容,而我理解了这些问题 - 链接和DLL。

有帮助吗?

解决方案

您可以尝试使用MSYS,Visual Studio(Express)使用SUA(unix应用程序子系统)或Cygwin来编译基于Automake/AutoConf的程序(./configure && make bualting linux)。

不幸的是,他们创建的LIB文件通常与其他编译器不兼容,因此,如果您希望库与使用Visual Studio开发的应用程序一起工作,则应使用VSC ++方法。通常很多GNU项目(检查 gnuwin32)实际上也具有VC兼容构建脚本,而不是使用“ Nmake”来编译

其他提示

您可以使用 明格 或从 Visual Studio Express.

这些都可以由命令行脚本驱动。

我认为Linux的十字架编译也会起作用,但是我不知道这可能会变得多么容易(或痛苦)。

这篇简短的文章显示了Windows应用程序和在Wine下运行该应用程序的简单交叉编译:

Windows软件开发套件包括Microsoft的C/C ++编译器(只有没有视觉工具的命令行),因此您甚至不需要Visual C ++ Express Edition。 Windows SDK是Microsoft的免费下载。

如果您正在使用 http://www.cmake.org/, ,Cmake可以创建makefile(对于UNIX)和项目文件(对于Visual Studio)。例如,这就是KDE项目正在使用的。

Visual Studio的编译器可以从Windows命令行启动,并在CMAKE生成的文件上使用'devenv /build debug project.csproj'启动。但是,这确实需要一个安装(电视自由的)视觉工作室的窗口(可能是在VM中)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top