【问题标题】:How do I build all configurations of a Visual Studio 2008 C++ project on the command line?如何在命令行上构建 Visual Studio 2008 C++ 项目的所有配置?
【发布时间】:2011-03-13 09:40:55
【问题描述】:

我想在命令行上构建一个 VS 2008 C++ 项目的所有配置。比如:

devenv TheProject.vcproj /build /nologo

但这不起作用,因为 /build 命令坚持在它后面有这样的配置:

devenv TheProject.vcproj /build "Release|Win32" /nologo

有没有办法在 vcproj 文件中获取所有配置的命令行构建?

【问题讨论】:

    标签: c++ visual-studio-2008 command-line compilation devenv


    【解决方案1】:

    好久没用VS了。但是项目属性面板用于显示为特定配置链接和编译项目而生成的命令行。它曾经位于Advanced 选项卡下。直接从命令行使用它会达到您的目的吗?这种方法根本不会用到VS IDE。

    或者,

    步骤:

    1. 创建一个依赖于所有其他项目的项目。

    2. 编写一个脚本,用不同的配置顺序构建这个项目。您不能创建封装所有其他配置的单个配置。

    【讨论】:

      【解决方案2】:

      不是直接的,但您可以让项目依赖于其他项目 - 因此您可以拥有一个依赖于其他所有项目的“全部”或“安装”项目。

      【讨论】:

        【解决方案3】:

        我在想你可以用 MSBUILD 做你想做的事,但它似乎并不比 DEVENV 好多少。

        您仍然需要在命令行上指定每个配置,尽管使用 MSBUILD 或 DEVENV 编写批处理文件来完成此操作很容易。

        看起来以前版本的开发环境可能支持“ALL”选项,但 VS 2008 不支持。

        http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/8701b3d0-d5c9-45fb-8dd4-e7700c8caca6/

        【讨论】:

        • 编写批处理文件来指定每个配置很困难,因为我正在迭代数十个 *.vcproj 文件,这些文件的配置数量不一致。我使用的脚本遍历目录结构以查找这些 *.vcproj 文件。它的目的是确保每个项目都能编译,我想扩展它以验证每个项目的每个配置都可以编译。
        • *.vcproj 文件是 XML,因此您可以考虑编写一个程序来解析项目文件并提取配置,并将结果写入批处理文件或 MSBUILD 配置。
        • 是的。我想到了这一点,但我试图避免这样做。你可以想象我的脚本目前有多么简单。添加逻辑以从 vcproj 文件中解析配置会大大增加其大小和复杂性。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-05
        • 2014-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-05
        相关资源
        最近更新 更多