【问题标题】:Win32 resource file multiple translationsWin32资源文件多种翻译
【发布时间】:2013-01-08 18:46:22
【问题描述】:

我想为我的项目使用资源脚本。该项目是使用 MinGW 编译的。

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.rc 编译它并将其与gcc -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这是正确的。但是出了什么问题?

【问题讨论】:

    标签: windows winapi mingw


    【解决方案1】:

    VALUE "Translation" 块中不能有多个 VALUE "Translation" 行。相反,正如评论所说,您必须在一行中包含一个或多个 WORD,WORD 对。

    例如,

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

    【讨论】:

    • 如何显示其他语言,如中文或德文。
    猜你喜欢
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多