【问题标题】:Extend the Visual Studio C++ Build Process扩展 Visual Studio C++ 构建过程
【发布时间】:2011-03-21 02:25:05
【问题描述】:

A 发现一篇文章 (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++ 构建期间发生的事情?

【问题讨论】:

    标签: c++ visual-studio-2005 build project target


    【解决方案1】:

    在 Visual Studio 2005 中,没有用于 C++ 构建的构建“目标”,因为 C++ 构建系统不使用 MSBuild。

    然而,VC++2005 定义了 Pre-BuildPre-LinkPost-Build 事件以及为非标准文件添加自定义构建步骤

    您可以使用这些设置实现您想要的。

    注意:

    • VC++2005 项目可以使用 MSBuild 构建,这不是 Visual Studio 开箱即用的功能。
    • Visual Studio 2010 对所有项目类型都使用 MSBuild。

    【讨论】:

    • 不幸的是,我想修改“干净”的构建。我不认为我可以通过 Pre-Build、Pre-Link 和 Post-Build 实现我想要做的事情,因为它们始终在所有构建中运行。除非有办法根据构建类型设置条件构建步骤,否则我可能会被卡住。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多