我有一个现存的 C++ DLL 可以正确编译,但没有与之关联的版本信息,例如已编译库的属性中的版本选项卡。奇怪的是,它在 Visual Studio 中确实有一个 .rc 文件,该文件与项目相关联并且似乎已正确定义。但是,无论是使用该文件,还是将其替换为诸如将资源文件添加到 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
/////////////////////////////////////////////////////////////////////////////