为Windows开发人员构建开源库DLL的最佳方法是什么?

daj*_*obe 9 windows porting cygwin gnu visual-studio

我有几个C免费软件/开源库,我在Linux和OSX上使用GNU工具链(automake,conf,flex,bison,gcc,...)开发,但我偶尔会收到提供Windows DLL的请求.我希望能够提供这些,而无需花费大量时间和金钱与Windows Visual Studio开发.我有一个可用的Windows XP虚拟机,我也知道该软件是可移植的,因为偶尔我会获得补丁以使其在Windows上内置.

我应该使用哪些方法或工具?在Linux上交叉编译?使用Visual Studio Express还是其他什么?我更喜欢从SVN存储库中完全自动化的东西.我不认为cygwin是一个解决方案,因为这似乎没有提供Windows开发人员需要的东西,据我所知,问题 - 链接和DLL.

Szt*_*upY 5

您可以尝试使用MSYS的Mingw,使用SUA(用于unix应用程序的子系统)的Visual Studio(Express)或Cygwin来编译基于automake/autoconf的程序(./configure && make to build in linux).

不幸的是,他们创建的lib文件通常与其他编译器不兼容,因此如果您希望您的库使用使用Visual Studio开发的应用程序,那么您应该使用VSC++方法.通常很多GNU项目(检查gnuwin32)实际上也有VC兼容的构建脚本,而不是使用"nmake"编译