バージョン情報でDLLをコンパイルします
-
26-09-2019 - |
質問
コマンドラインからWindows DLL内にバージョン情報をコンパイルするために必要な手順。私はVersionInfoファイルを見てきましたが、それらをDLLにリンクする方法を理解できませんでした。
ありがとうございました
解決
バージョンリソースを作成し、プロジェクトに追加する必要があります。これは、Visual Studio内から非常に簡単に実行できます。 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の下部ペインには、それに応じて各値を変更するだけで、バージョン情報があります。
通常、.RCファイルにversionInfoリソースを配置し、リソースコンパイラ(RC.EXE)とコンパイルします。残念ながら、ソース形式の(最近の)ドキュメントはわかりません。 vsが生成するものを模倣することは、すべて正しく機能するようです...
所属していません StackOverflow