找到了一篇文章(Extend the Visual Studio Build Process),该文章解释了如何覆盖C#项目文件中的构建目标。我对此进行了测试,看来效果很好。但是,我真正想做的是重写C ++项目(使用Visual Studio 2005)中的构建目标。问题在于C ++项目使用不同的XML。 C ++项目不是以<project>
为根,而是以<VisualStudioProject>
为根。当我将<target>
标记添加到C ++项目文件并尝试在Visual Studio中打开项目时,出现此错误:
XML解析期间发生以下错误:
文件:
[项目文件的路径] .vcproj
行:304列:30错误消息:
元素“目标”是意外的
根据家长的内容模型
元素“ VisualStudioProject”。
文件
“ [项目文件的路径] .vcproj”
加载失败。
如何覆盖C ++项目的Visual Studio构建目标?还是有更好的方法来自定义C ++构建期间发生的情况?
最佳答案
在Visual Studio 2005中,没有C ++构建的构建“目标”,因为C ++构建系统不使用MSBuild。
但是,VC ++ 2005定义了预构建,预链接,后构建事件,以及为非标准文件添加自定义构建步骤的功能。
使用这些设置,您可以实现所需的功能。
注意:
可以使用MSBuild来构建VC ++ 2005项目,这不是Visual Studio开箱即用的功能。
Visual Studio 2010将MSBuild用于所有项目类型。
关于c++ - 扩展Visual Studio C++生成过程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3335274/