正しくコンパイルされたコンパイル済みライブラリの[プロパティ]の[バージョン]タブなど、バージョン情報が関連付けられていない既存のC++ DLLがあります。奇妙な点は、Visual Studioにプロジェクトに関連付けられており正しく定義されているような.rcファイルがあることです。しかし、そのファイルを使用するか、またはAdding resource file to VC6 dll、Version resource in DLL not visible with right-click、またはhttp://www.codeproject.com/KB/DLL/XDllPt3.aspxなどの場所の値と置き換えても、DLL情報をエクスポートすることはできません。これは内部的なものなので、私はプロジェクトのコードのほとんどを投稿できませんが、これは.rcファイルの内容です: // Microsoft Developer Studioで生成されたリソーススクリプト。 //VersionInfoを既存のC++ DLLプロジェクトに設定するのが難しい
#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
/////////////////////////////////////////////////////////////////////////////
「輸出」という用語の使用を明確にしてください。バージョン情報がDLLのリソースセクションに表示されませんか? 'GetProcAddress'または' GetFileVersionInfo'を使ってアクセスしようとしていますか? –
これを乱すのは難しいです。基本チェック:Visual Studioでファイル+開く+ファイルを使用します。存在する場合、埋め込まれたリソースが表示されます。 –