我有一个包含大量源文件和头文件的Visual Studio 2010项目。现在我需要在最新的Debian GNU/Linux下自动构建此项目。因此,我选择使用MinGW。但是我需要一个这个Visual Studio项目的makefile。是否有一种简单的方法将VS项目转换为makefile?或者MinGW可以直接构建带有附加软件包或库的Visual Studio项目吗?任何想法都将不胜感激。
我有一个包含大量源文件和头文件的Visual Studio 2010项目。现在我需要在最新的Debian GNU/Linux下自动构建此项目。因此,我选择使用MinGW。但是我需要一个这个Visual Studio项目的makefile。是否有一种简单的方法将VS项目转换为makefile?或者MinGW可以直接构建带有附加软件包或库的Visual Studio项目吗?任何想法都将不胜感激。
我不知道任何能够直接完成这项任务的工具链。CMake(以及其他所有元makefile生成器)只提供单向转换:它们可以生成一个Visual Studio项目/解决方案,但无法自动与VS/MSBuild配置中所做的更改同步。编写和维护CMake(或PreMake或其他)配置非常麻烦,只有在您的主要开发平台位于Microsoft平台之外时才有意义。
不过还有一种有趣的选择:xbuild- MSBuild的移植版本,是VS智能背后的构建系统。理论上,人们可以扩展该系统以支持由Visual Studio生成的MSBuild配置,并为其他平台上的正确C++工具链定义转换规则(甚至是双向的)。相对于耗费我大量时间和不便的autotools/make,MSBuild/XBuild的声明性基于XML的本质是巨大的优势。MSBuild/XBuild都被实现为纯管理框架,并采用设计良好的架构,因此很容易实现扩展。当然,只有在您(或您的公司)认真考虑大规模跨平台支持时,才会收回这些成本。