2010-04-11 93 views
9

需要在命令行中编译Windows DLL中的版本信息需要执行哪些步骤。我一直在看VersionInfo文件,但无法弄清楚如何将它们链接到DLL。使用版本信息编译DLL

谢谢

回答

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

http://stackoverflow.com/questions/852568/version-resource-in-dll-not-visible-with-right-click也是有帮助的。 – 2014-05-09 16:35:38

2

您通常会将VersionInfo资源放入.rc文件中,并使用资源编译器(rc.exe)进行编译。不幸的是,我不知道任何(最近)的源格式文件。模仿什么VS产生似乎工作正常,虽然...

4

右键单击解决方案资源管理器中的项目名称,选择添加,然后资源。选择版本。在新创建的VS_VERSION_INFO的底部窗格中,相应地修改每个值,重新构建,然后会有版本信息。

+0

这个问题不是特别针对Visual Studio,但是因为我正在使用它,所以我得到了这个帮助,并投了赞成票。也许你应该添加信息,它是Visual Studio – 244an 2017-03-23 15:58:23

+0

这种方法是最直接的视觉工作室! – 2017-09-01 03:32:44