У меня есть существующая C ++ DLL, которая правильно компилируется, но не имеет информации о версии, связанной с ней, как это было на вкладке Версия в Свойствах для скомпилированной библиотеки. Странно то, что у него есть файл .rc в Visual Studio, который связан с проектом и, кажется, правильно определен. Однако при использовании этого файла или его замене значениями из таких мест, как Добавление файла ресурсов в VC6 dll , Версия ресурса в DLL не отображается при щелчке правой кнопкой мыши или http://www.codeproject.com/KB/DLL/XDllPt3.aspx, Я до сих пор не могу заставить его экспортировать информацию DLL. Я не могу опубликовать большую часть кода проекта, так как он является внутренним, но это содержимое файла .rc:
// Microsoft Developer Studio сгенерировал скрипт ресурса.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "PTU DLL library\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "PTUDLL32\0"
VALUE "LegalCopyright", "Copyright (C) 1999\0"
VALUE "ProductName", "PTU DLL library\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////