Какие шаги необходимы для компиляции информации о версии внутри Windows DLL из командной строки. Я просматривал файлы VersionInfo, но не мог понять, как связать их с DLL.
Спасибо
Какие шаги необходимы для компиляции информации о версии внутри Windows DLL из командной строки. Я просматривал файлы VersionInfo, но не мог понять, как связать их с DLL.
Спасибо
Вам нужно создать ресурс версии и добавить его в свой проект. Это можно очень легко сделать из визуальной студии. в 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 просто измените каждое значение соответствующим образом, перестройте, и тогда появится информация о версии.
Обычно ресурс VersionInfo помещается в файл .rc и компилируется с помощью компилятора ресурсов (rc.exe). К сожалению, я не знаю ни одной (недавней) документации исходного формата. Имитация того, что производит VS, похоже, работает нормально...