Компиляция DLL с информацией о версии - PullRequest
9 голосов
/ 12 апреля 2010

Какие шаги необходимы для компиляции информации о версии в DLL-библиотеке Windows из командной строки. Я просматривал файлы VersionInfo, но не мог понять, как связать их с DLL.

Спасибо

Ответы [ 3 ]

14 голосов
/ 12 апреля 2010

Вам необходимо создать ресурс версии и добавить его в свой проект. Это может быть очень легко сделано из визуальной студии. в 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.

4 голосов
/ 28 декабря 2016

Щелкните правой кнопкой мыши имя проекта в обозревателе решений, выберите «Добавить», а затем «Ресурс». Выберите версию. В нижней панели вновь созданного VS_VERSION_INFO просто измените каждое значение соответствующим образом, пересоберите, а затем появится информация о версии.

2 голосов
/ 12 апреля 2010

Обычно вы помещаете ресурс VersionInfo в ваш файл .rc и компилируете его с помощью компилятора ресурсов (rc.exe). К сожалению, я не знаю ни одной (недавней) документации исходного формата. Хотя имитация того, что производит VS, работает нормально ...

...