我有很多VC ++ 6.0项目(DSP)的,其建设成没有资源文件的DLL。任何想法如何将资源添加到现有项目?

该项目是由于主要发行不久,我想一个文件版本添加到这些dll目前所缺乏的。这些DLL将释放之前recompilied所以我只是试图让这些DSP我继承了这个项目(即确实有文件和产品版本等,这样我们就可以很容易地知道究竟是什么在运行的所有其他人一样客户机。

一个答案:创建一个* .RC和RESOURCE.H文件(复制从另一个项目?),并把它添加到ypur在VC6文件查看项目的源文件夹。资源视图自动创建。感谢您的帮助家伙,给我我需要的。

指针
有帮助吗?

解决方案

仅有VERSIONINFO块添加到DLL的资源文件。

打开rc文件,并使用“插入/资源... /版本”,你会得到一束默认的一个新的VERSIONINFO资源。如果该项目不已经有一个资源文件,你可以使用添加一个“文件/新建... /资源脚本。”

如果你想推出自己的,一个例子VERSIONINFO块上的对于VERSIONINFO MSDN页:

#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

其他提示

您可以尝试使用editbin /VERSION:#[.#]到DLL内部修改的版本。否则,它应该是在项目的资源文件中的条目。

帕特里克,没有加入VERSIONINFO块实际上是版本添加到您的DLL? 并通过实际我的意思是,当你将鼠标悬停在二进制文件没有版本控制弹出...或者右键单击>属性>详细信息显示没有版本要么...

这适用于EXE(S),但每当我VERSIONINFO块添加到库中什么也不显示。

EB

好吧,我还以为今天会分享我的无知,显然这只是版本确实适用于EXE(S)和DLL(S),所以最终我希望把它用在静态库的版本的快速视图

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top