6

如何设置可执行文件的“描述”属性?我的意思是当您在 Windows 资源管理器中右键单击可执行文件时显示的值,它显示“描述:”,似乎只是可执行文件的名称,没有文件扩展名。

我在 Windows XP 上运行 GCC 3.4.5(mingw-vista special r3)。

我已经用谷歌搜索了这无济于事,但我觉得我可能不得不使用带有windres的资源文件......我至少在正确的轨道上吗?

我实际上一直在用 -o 设置一个自定义名称,但我实际上想要一个完全不同的名称。

4

2 回答 2

9

该信息取自版本信息资源。Windows 可执行文件可以包含嵌入其中的资源文件。通常,使用 Microsoft Visual Studio,您会创建一个资源脚本(.rc文件),Visual Studio 资源编译器会为您将其编译为可执行文件。VS 还包含一个漂亮的可视化资源编辑器,用于编辑各种类型的资源(字符串表、图标、位图、光标、菜单、对话框、版本信息等)。

使用 GCC,您必须自己创建资源脚本。有关资源类型的更多信息,请参阅MSDN 。VERSIONINFO一旦你创建了一个有效的资源脚本,你就可以使用windres将它编译成一个目标文件 ( .o)。 这个页面有一个很好的例子来说明如何做到这一点。最后,一旦你有了一个目标文件,你只需像往常一样将它与其余的目标文件链接起来。

于 2009-02-28T20:54:16.700 回答
9

是的,您需要一个资源文件。

  1. 有关编写您自己的 .rc 资源文件(包括您的FileDescription字段)的信息,请参阅:MSDN: VERSIONINFO Resource

  2. 要使用 gcc 链接资源文件,请参阅:“使用 gcc 设置图标 [或 Windows 程序的任何资源”

Windows 版本的 gcc(MinGW、Cygwin)带有一个名为“windres”的工具。这会将资源文件编译为目标文件,供您在链接阶段包含。作为一个简单的例子,编译文件'chocolate-doom-res.rc':

windres chocolate-doom-res.rc chocolate-doom-res.o

这为您提供了一个“.o”,您可以方便地将其放入您的构建中,例如。

gcc other.o files.o etc.o chocolate-doom-res.o -o chocolate-doom.exe
于 2009-02-28T20:55:00.287 回答