Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 带资源修改的自动编译_Visual Studio 2008_Visual C++ - Fatal编程技术网

Visual studio 2008 带资源修改的自动编译

Visual studio 2008 带资源修改的自动编译,visual-studio-2008,visual-c++,Visual Studio 2008,Visual C++,我正在使用VisualStudio2008。是否可以执行解决方案的自动生成,从而可以更改项目的资源文件/其他文件以将值纳入其中 例如,有效期。每次我需要一个新的到期日,我都必须打开解决方案,打开相关的源文件,修改到期日,重新构建 我想知道是否有可能缩短所有这些步骤,基本上只需更改日期和构建,而不必打开项目 谢谢 您可以在不启动Visual Studio的情况下从命令行运行生成。 这与构建脚本一起是执行时间/日期构建的正常方式 示例: devenv /clean release /project

我正在使用VisualStudio2008。是否可以执行解决方案的自动生成,从而可以更改项目的资源文件/其他文件以将值纳入其中

例如,有效期。每次我需要一个新的到期日,我都必须打开解决方案,打开相关的源文件,修改到期日,重新构建

我想知道是否有可能缩短所有这些步骤,基本上只需更改日期和构建,而不必打开项目


谢谢

您可以在不启动Visual Studio的情况下从命令行运行生成。
这与构建脚本一起是执行时间/日期构建的正常方式

示例:

devenv  /clean release /project ProjectName SolutionName.sln     
devenv  /build release /project ProjectName SolutionName.sln
在VS2005/8中,对.rc文件的更改并不总是由/build获取,因此执行干净的构建更安全

然后我有一个python脚本,它更新了一个包含

#define VERSION_MAJOR 1
#define VERSION_MINOR 12
#define VERSION_BUILD 368
#define VERSION_DATE "2010:06:19"
然后将其包含在application.rc2文件中。抱歉,我记不起使用复杂字符串宏步骤的原因。几年前,我在网上找到了它,现在可能有更简单的方法了——但从VC++6到VS2010都是如此

    #include "version.h"

    #define _STR(x) #x
    #define STR(x) _STR(x)

    #define VERSION_STRING STR(VERSION_MAJOR) "." STR(VERSION_MINOR) ".0." STR(VERSION_BUILD) 

    VS_VERSION_INFO VERSIONINFO
     FILEVERSION VERSION_MAJOR,VERSION_MINOR,0,VERSION_BUILD
     PRODUCTVERSION VERSION_MAJOR,VERSION_MINOR,0,VERSION_BUILD
     FILEFLAGSMASK 0x17L
    #ifdef _DEBUG
     FILEFLAGS 0x1L
    #else
     FILEFLAGS 0x0L
    #endif
     FILEOS 0x4L
     FILETYPE 0x1L
     FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "080904b0"
            BEGIN
                VALUE "FileDescription", "XXX Application"
                VALUE "FileVersion", VERSION_STRING "\0"
                VALUE "InternalName", "XXX"
                VALUE "LegalCopyright", "Copyright (C) 2010"
                VALUE "LegalTrademarks", "XXX"
                VALUE "ProductName", "XXX Application"
                VALUE "ProductVersion", VERSION_STRING "\0"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x809, 1200
        END
    END
它最终包含在application.rc中

#include "res\application.rc2"  // non-Microsoft Visual C++ edited resources

所有这些都被证明是必要的,因为当在对话框编辑器中打开.rc文件时,Visual Studio会覆盖该文件的外部更改-不知道这是否已在较新版本中得到修复,这对于MFC来说只是个问题。

有任何示例吗?一些链接可以。