从命令行编译Windows DLL中的版本信息需要哪些步骤。我一直在查看VersionInfo文件,但无法弄清楚如何将它们链接到DLL。
谢谢
答案 0 :(得分:14)
您需要创建版本资源并将其添加到项目中。这可以在视觉工作室内轻松完成。在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。
答案 1 :(得分:4)
右键单击solution explorer中的项目名称,选择Add then Resource。选择版本。在新创建的VS_VERSION_INFO的底部窗格中,只需相应地修改每个值,重新构建,然后就会有版本信息。
答案 2 :(得分:2)
通常将VersionInfo资源放入.rc文件并使用资源编译器(rc.exe)进行编译。不幸的是,我不知道源格式的任何(最近的)文档。模仿VS产生的东西似乎可以正常工作......