2010-04-11 101 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