【问题标题】:Compiling DLL with Version Information使用版本信息编译 DLL
【发布时间】:2011-02-06 19:13:40
【问题描述】:

从命令行编译 Windows DLL 中的版本信息需要哪些步骤。我一直在查看 VersionInfo 文件,但不知道如何将它们链接到 DLL。

谢谢

【问题讨论】:

    标签: winapi dll version versioninfo


    【解决方案1】:

    您需要创建一个版本资源并将其添加到您的项目中。这可以在 Visual Studio 中轻松完成。在 VS 2008 中,右键单击项目的文件夹,选择添加并在“Visual C++”下选择“资源文件”(不是资源模板),在刚刚创建的资源文件中,您将能够添加一个版本资源,如下所示这个:

    VS_VERSION_INFO VERSIONINFO
     FILEVERSION 1,0,0,1
     PRODUCTVERSION 1,0,0,1
     FILEFLAGSMASK 0x17L
    #ifdef _DEBUG
     FILEFLAGS 0x1L
    #else
     FILEFLAGS 0x0L
    #endif
     FILEOS 0x4L
     FILETYPE 0x1L
     FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "040904b0"
            BEGIN
                VALUE "FileDescription", "XXX Application"
                VALUE "FileVersion", "1, 0, 0, 1"
                VALUE "InternalName", "XXX"
                VALUE "LegalCopyright", "Copyright (C) 2010"
                VALUE "OriginalFilename", "XXX.exe"
                VALUE "ProductName", "XXX Application"
                VALUE "ProductVersion", "1, 0, 0, 1"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x409, 1200
        END
    END
    

    您需要从命令行使用资源编译器 rc.exe,然后将结果链接到您的 dll。

    【讨论】:

    【解决方案2】:

    在解决方案资源管理器中右键单击项目名称,选择添加,然后选择资源。选择版本。在新创建的 VS_VERSION_INFO 的底部窗格中,只需相应地修改每个值,重新构建,然后就会有版本信息。

    【讨论】:

    • 这个问题并不是专门针对 Visual Studio 的,但自从我使用它以来,我得到了帮助,并投票了。或许您应该添加适用于 Visual Studio 的信息
    • 这个方法对于visual studio来说是最直接的!
    【解决方案3】:

    您通常将 VersionInfo 资源放入您的 .rc 文件中,并使用资源编译器 (rc.exe) 对其进行编译。不幸的是,我不知道源格式的任何(最近的)文档。模仿 VS 产生的东西似乎没问题...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-19
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多