2008-11-19 58 views
3

我正在开发一个大型的C++项目。它使用单个Ant脚本进行构建,使得可以针对多个平台和编译器编译相同的源代码。Ant - > Nant - > Visual Studio 2005 Build

但是,我只能用于Windows平台和Visual Studio 2005 C++编译器。如果我可以在Visual Studio中编写代码并进行编译,而不是像现在这样使用Notepad ++和Ant脚本,那将非常好。

我试图为Visual Studio 2005安装Nant和Nant插件,并使用现有的Ant脚本,但似乎Ant脚本不能用作Nant脚本。

有什么办法将Ant脚本转换为Nant吗?是否有任何其他方法解决该问题,或者我必须手动创建Visual Studio解决方案和项目?

我会尽量避免这样的解决方案,因为我有一堆测试,我不知道如何在这种情况下使用。

回答

2

据我所知,没有自动将Ant脚本转换为NAnt的方法。但是,由于NAnt是基于Ant的,所以只要任务是“核心”任务,转换过程就不会离原先太远。可能在Ant脚本上进行XSLT转换以转换为NAnt,因为两者都是XML。如果沿着这条路走下去,转换应该基于原始的Ant脚本动态地,以便只需要维护一组脚本。

如果您想在Visual Studio中编写和编译您的C++代码,很难击败IDE内置的功能。但是,这需要创建项目文件。否则,人们似乎有可能与这个工具进行艰苦的斗争。

测试的一个选项是通过custom build step呼叫运行它们。

2

根据我的经验,将VS与ant集成的最佳方法是在IDE端调用ant作为自定义构建步骤(如Scott Saad所示),并从ant中调用msbuild.exe作为可执行文件以构建该项目来自命令行。

我知道这个问题已经得到解答 - 我只是想提出使用msbuild的可能性,因为它是迄今为止从ant本身构建VS项目的最简单方法。

+0

在这种情况下,msbuild/vcbuild几乎是非常棒的,是的。 – Macke 2009-12-13 23:12:48

0

使用包含在NAnt任务中的MSBuild任务。我不得不在我上一份工作上这样做,这是我能想出的最好的解决方案,然后我可能会非常糟糕。