我正在使用MinGW作为编译器创建一个exe。 我想拥有我的exe的文件详细信息。 类似的问题被问到here,但它仅适用于MSVC。 我甚至尝试在.rc文件中添加以下代码。顺便说一句。同样的.rc文件有一些代码用于获取图标文件,这工作正常!
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "Comments", "\0"
VALUE "CompanyName", "\0"
VALUE "FileDescription", "MyApp Description\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "Test\0"
VALUE "LegalCopyright", "Copyright © 2013\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "OriginalFilename\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "MyApp\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
VALUE "SpecialBuild", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0, 1200
END
END
我仍然没有在内置的exe中获得任何细节......
答案 0 :(得分:3)
您是如何构建资源文件的?请记住(参见MS resource compiler):
使用MS资源工具和GNU之间的主要区别 工具是MS rc在特殊二进制文件中生成“.res”文件 资源格式,可以直接传递给MS链接,而 GNU链接器ld仅支持“.o”(与“.obj”相同)格式的资源 (虽然windres可以两种格式输出)。
示例:
windres -o resfile.o demo.rc
gcc -o demo demo.o resfile.o -mwindows