需要哪些步骤来从命令行中编译Windows DLL中的版本信息。我一直在看versionInfo文件,但无法弄清楚如何将它们链接到DLL。

谢谢

有帮助吗?

解决方案

您需要创建版本资源并将其添加到项目中。这可以很容易地从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。

其他提示

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

通常,您将版本INFO资源放入.RC文件中,并使用资源编译器(RC.EXE)进行编译。不幸的是,我不知道源格式的任何(最新)文档。模仿VS产生的产品似乎一切正常...

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