我们为我们的构建设置了一个简单的版本控制系统,以确保构建的文件始终指示它们是 Beta Debug 还是 Beta Release 构建
我将文件版本信息移动到 myapp.rc2 并创建了 version.h
// version.h
// _DEBUG is defined by VS
#define _BETA
#ifdef _BETA
#define FILE_DESC1 _T("BETA ")
#else
#define FILE_DESC1 // blank on purpose
#endif
#ifdef _DEBUG
#define FILE_DESC2 _T("Debug Version ")
#else
#define FILE_DESC2 _T("Release Version ") // this is greyed out in the ide when building
#endif
#define FILE_DESC FILE_DESC1 FILE_DESC2
// myapp.rc2
include "version.h"
#ifndef _T
#define _T(x) x
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION PROD_VER_MJR,PROD_VER_MIN,PROD_VER_UPD,JOBUILDER_BUILD
PRODUCTVERSION PROD_VER_MJR,PROD_VER_MIN
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", COMPANY_NAME
VALUE "FileDescription", FILE_DESC
VALUE "FileVersion", JOBBUI_VERSION
VALUE "InternalName", "MyApp.exe"
VALUE "LegalCopyright", COPYRIGHT
VALUE "OriginalFilename", "MyApp.exe"
VALUE "ProductName", PRODUCT_NAME
VALUE "ProductVersion", PRODUCT_VERSION
VALUE "Comments", COMMENTS
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
但是,当 exe 构建在调试输出目录中时,文件描述总是错误地显示“BETA Release Version”而不是“BETA Debug Version”然而 IDE 指示将使用“#define FILE_DESC2 _T(“Debug Version”)”。为什么会这样?我在另一个项目中使用了这些文件并且它们工作正常。
谢谢你...