Visual Studio 2010还是比较常用的,于是我研究了一下Visual C++项目,在这里拿出来和大家分享一下,希望对大家有用。在上一回我们提到过,在以往的Visual Studio版本中,MSBuild不能很好地支持Visual C++项目,微软转而提供了一个替代的专门解决办法:VCBuild。在Visual Studio 2010中,微软终于改进了这一点,将VCBuild的众多特有的功能集成到MSBuild中,并且使用MSBuild替代了VCBuild。虽然 VCBuild有很多针对Visual C++项目的实用功能,但是,新的MSBuild不仅继承了这些功能,还提供了更多的新特性,吸引用户升级到这一新的构建平台上来:#t#
◆诊断功能: MSBuild增强了它的诊断功能,以帮助用户更加容易地发现和调试构建错误。例如,MSBuild可以帮助你决定如何以特定的顺序编译某些源文件,因为MSBuild可以检测这些文件之间的依赖性。
◆可扩展性: 使用MSBuild,用户可以为某些特定的平台构建不同的解决方案。另外,也可以在构建过程中,使用不同版本的编译器。连接器等,使得我们的解决方案更具扩展性。
◆集成: 我们可以将我们的Visual C++项目添加到一个已经存在的MSBuild环境中。例如,我们可以将一个新的Visual C++项目集成到一个已经存在的MSBuild环境中,虽然这个MSBuild环境包含的是使用.NET Framework的Visual C#和Visual Basic项目。
Multi-Targeting曾经作为Visual Studio的一个重要特性,受到微软的大力推广。因为它使得“一次编码,多个平台运行”成为可能。这一特性给程序员们带来了极大的便利,再也不用为目标机器混乱的平台而头疼。但是在之前的Visual Studio中,Multi-Targeting特性只在托管语言中得到支持,可以针对不同的.NET Framework版本。现在在Visual Studio 2010中,随着MSBuild的应用,本地代码的Multi-Targeting也成为可能。
在Visual Studio 2010中,我们可以选择使用Visual Studio 2010的工具集还是Visual Studio 2008的工具集。当我们因为一些兼容性或者是其他方面的原因不愿过早地升级到Visual Studio 2010时,我们可以利于Multi-Targeting特性,选择使用Visual Studio 2008的Visual C++程序库和编译器,而同时使用Visual Studio 2010的IDE。这样就实现了“鱼与熊掌兼得”。当我们最终决定升级到Visual Studio 2010的程序库和编译器时,只需要在MSBuild或是项目属性中做一个简单的设置就可以了。