GCC в Windows: установить поле «Описание» исполняемого файла C? - PullRequest
4 голосов
/ 28 февраля 2009

Как установить свойство «Описание» исполняемого файла? Под этим я подразумеваю значение, отображаемое при щелчке правой кнопкой мыши по исполняемому файлу в проводнике Windows, и оно показывает «Описание:» с тем, что кажется просто именем исполняемого файла без расширения файла.

Я использую GCC 3.4.5 (mingw-vista special r3) в Windows XP.

Я, черт возьми, гуглил это безрезультатно, но у меня есть ощущение, что мне, возможно, придется использовать файл ресурсов с windres ... я хотя бы на правильном пути?

На самом деле я настраивал собственное имя с помощью -o, но на самом деле я хочу другое.

Ответы [ 2 ]

8 голосов
/ 28 февраля 2009

Эта информация взята из ресурса Информация о версии. Исполняемые файлы Windows могут содержать встроенные в них файлы ресурсов. Обычно в Microsoft Visual Studio вы создаете сценарий ресурса (.rc файл), а компилятор ресурсов Visual Studio компилирует его в исполняемый файл для вас. VS также содержит хороший визуальный редактор ресурсов для редактирования различных типов ресурсов (строковых таблиц, значков, растровых изображений, курсоров, меню, диалоговых окон, информации о версии и т.

С GCC вам придется самостоятельно создавать скрипт ресурса. См. MSDN для получения дополнительной информации о типе ресурса VERSIONINFO. Создав действительный скрипт ресурса, вы можете использовать windres , чтобы скомпилировать его в объектный файл (.o). На этой странице есть хороший пример того, как это сделать. Наконец, когда у вас есть объектный файл, вы просто связываете его с остальными объектными файлами, как обычно.

7 голосов
/ 28 февраля 2009

Да, вам нужен файл ресурса.

  1. Информацию о написании собственного файла ресурсов .rc (включая поле FileDescription) см. В MSDN: VERSIONINFO Resource

  2. Чтобы связать файл ресурса с помощью gcc, см .: «Настройка значков [или любого ресурса для программ Windows с gcc» * :

Версии gcc для Windows (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
...