2013-01-08 70 views
3

我想爲我的項目使用資源腳本。該項目使用MinGW進行編譯。Win32資源文件多個譯文

RESOURCE.RC:

#include <windows.h> 
VS_VERSION_INFO VERSIONINFO 
FILEVERSION  1,0,0,0 
PRODUCTVERSION 1,0,0,0 
//FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 
//FILEFLAGS  VER_PRIVATEBUILD 
FILEOS   VOS_NT_WINDOWS32 
FILETYPE  VFT_APP 
FILESUBTYPE  VFT2_UNKNOWN 
BEGIN 
    BLOCK "StringFileInfo" 
    BEGIN 
     BLOCK "040904E4" 
     BEGIN 
      //VALUE "Comments",   "" 
      VALUE "CompanyName",  "Company" 
      VALUE "FileDescription", "Test for the resource.rc" 
      VALUE "FileVersion",  "1.0" 
      VALUE "InternalName",  "ResourceTest" 
      //VALUE "LegalCopyright", "" 
      //VALUE "LegalTrademarks1", "" 
      //VALUE "LegalTrademarks2", "" 
      VALUE "OriginalFilename", "ResourceTest.exe" 
      VALUE "PrivateBuild",  "Built by me." //With VS_FF_PRIVATEBUILD 
      VALUE "ProductName",  "resource.rc Test" 
      VALUE "ProductVersion", "1.0" 
     END 
    END 

    BLOCK "VarFileInfo" 
    BEGIN 
     /* The following line should only be modified for localized versions.  */ 
     /* It consists of any number of WORD,WORD pairs, with each pair   */ 
     /* describing a language,codepage combination supported by the file.  */ 
     /*                  */ 
     /* For example, a file might have values "0x409,1252" indicating that it */ 
     /* supports English language (0x409) in the Windows ANSI codepage (1252). */ 
     VALUE "Translation", 0x407, 1252 //German 
     VALUE "Translation", 0x409, 1252 //U.S. English 

    END 
END 

我編譯使用windres -o Resource.o resource.rcgcc -mwindows -o Resourcetest.exe Launcher.o Resource.o聯繫起來。我的控制檯輸出:

windres -o Resource.o resource.rc 
windres: resource.rc:39: syntax error 
make: *** [Resource.o] Error 1 

39行是第二行翻譯行:VALUE "Translation", 0x409, 1252。但是提到MSDN這是正確的。但是出了什麼問題?

回答

4

VarFileInfo塊中不能有多個VALUE "Translation"行。相反,正如評論所說,你必須有一行或多行WORD,WORD對。

例如,

VALUE "Translation", 0x407, 1252, 0x409, 1252