我有许多VC 6.0项目(dsps),它们构建在没有资源文件的dll中。知道如何将资源添加到现有项目中吗?
该项目即将发布一个主要版本,我想为那些目前缺少一个dll的dll添加一个fileversion。 dll将在发布之前重新编译,所以我只是尝试将这些dsps与我在此项目中继承的所有其他dsps一样(具有文件和产品版本等,以便我们可以轻松地确定正在运行的是什么客户的机器。
一个答案:创建* .rc和resource.h文件(从另一个项目复制?)并将其添加到VC6文件视图中的ypur项目的源文件夹中。资源视图自动创建。谢谢你的帮助,给了我需要的指示。
答案 0 :(得分:6)
只需将VERSIONINFO块添加到DLL的资源文件中即可。
打开.rc文件,然后使用“Insert / Resource ... / Version”,您将获得一个带有一堆默认值的新VERSIONINFO资源。如果项目还没有资源文件,您可以使用“文件/新建... /资源脚本”添加一个。
如果您想自己推送,MSDN page for VERSIONINFO上会给出一个示例VERSIONINFO
块:
#define VER_FILEVERSION 3,10,349,0
#define VER_FILEVERSION_STR "3.10.349.0\0"
#define VER_PRODUCTVERSION 3,10,0,0
#define VER_PRODUCTVERSION_STR "3.10\0"
#ifndef DEBUG
#define VER_DEBUG 0
#else
#define VER_DEBUG VS_FF_DEBUG
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG)
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "CompanyName", VER_COMPANYNAME_STR
VALUE "FileDescription", VER_FILEDESCRIPTION_STR
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", VER_INTERNALNAME_STR
VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
VALUE "ProductName", VER_PRODUCTNAME_STR
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
/* The following line should only be modified for localized versions. */
/* It consists of any number of WORD,WORD pairs, with each pair */
/* describing a language,codepage combination supported by the file. */
/* */
/* For example, a file might have values "0x409,1252" indicating that it */
/* supports English language (0x409) in the Windows ANSI codepage (1252). */
VALUE "Translation", 0x409, 1252
END
END
答案 1 :(得分:0)
您始终可以尝试使用editbin /VERSION:#[.#]
更改dll内的版本。否则,它应该是项目资源文件中的条目。
答案 2 :(得分:0)
这适用于exe(s),但每当我向库中添加versioninfo块时,都不会显示任何内容。
EB
好吧,我想今天我会分享我的无知......显然这个版本只适用于exe(s)和dll(s)所以最终我希望在静态库上使用它来快速查看版本控制