Gcc: как поставить ico в exe

Сабж: как использовать пиктограмку вместо стандартного окошка при компиляции в gcc?
11 ответов

Сабж: как использовать пиктограмку вместо стандартного окошка при компиляции в gcc? 
Для окна приложения? Никак. Только библиотечными методами. Если для exe, то с помощью утилит, наподобие windres.


powerfox, для иконки exe файла.


а если ее прописать в rc-файле?


Вот так я делал с помощью qmake
Setting the Application Icon on WindowsFirst, create an ICO format bitmap file that contains the icon image. This can be done with e.g. Microsoft Visual C++: Select File|New, then select the File tab in the dialog that appears, and choose Icon. (Note that you do not need to load your application into Visual C++; here we are only using the icon editor.)Store the ICO file in your application's source code directory, for example, with the name myappico.ico. Then, create a text file called, say, myapp.rc in which you put a single line of text:    IDI_ICON1               ICON    DISCARDABLE     "myappico.ico"Finally, assuming you are using qmake to generate your makefiles, add this line to your myapp.pro file:    RC_FILE = myapp.rcRegenerate your makefile and your application. The .exe file will now be represented with your icon in Explorer.If you do not use qmake, the necessary steps are: first, run the rc program on the .rc file, then link your application with the resulting .res file.


Гм... компилятор не имеет отношение к иконке. Просто линкером прилинковать ресурс с иконкой (иконка должна быть в секции Icon)


#include <winuser.h>#include <winnt.h>#ifndef IDR_TRAY_MENU#define IDR_TRAY_MENU        1500#endif#ifndef ID_EXIT#define ID_EXIT                    1501#endif#ifndef ID_HIDE#define ID_HIDE                    1502#endif#ifndef ID_RESTORE#define ID_RESTORE            1503#endifSTRINGTABLE LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRALBEGIN                1 "My Super Program"ENDIDR_APP_ICON        ICON "./Icon/MySuperProgram.ico"IDR_TRAY_MENU        MENUBEGIN                POPUP "&menu"                BEGIN                                MENUITEM "Exit",                ID_EXIT                                MENUITEM SEPARATOR                                MENUITEM "Hide",                ID_HIDE                                MENUITEM "Restore",            ID_RESTORE                ENDEND1 VERSIONINFO                FILEVERSION 0,3,0,0                PRODUCTVERSION 0,3,0,0BEGIN                BLOCK "StringFileInfo"                BEGIN                                BLOCK "040904e4"                                BEGIN                                                VALUE "CompanyName",                "ООО ""Наикрутейшая компания""\0"                                                VALUE "FileDescription",                "Программа этой компании\0"                                                VALUE "FileVersion",                "0.3.0.0\0"                                                VALUE "InternalName",                "CoolProgram\0"                                                VALUE "LegalCopyright",                "Наикрутейшая компания\0"                                                VALUE "OriginalFilename",            "main.exe\0"                                                VALUE "ProductName",                "CoolProgram\0"                                                VALUE "ProductVersion",                "0.3.0.0\0"                                END                END                BLOCK "VarFileInfo"                BEGIN                                VALUE "Translation",                                        0x409, 1251                ENDEND
Это -- пример *.rc файла. Компилируется утилитой windres в объектник: windres -J rc -i myRCfile.rc -o myRCfile.oПолученный объектник уже склеивается с объектником самой программы.


Спасибо, все заработало)


А еще в тему вопрос: как subsystem поменять, чтобы консольки не было?


А еще в тему вопрос: как subsystem поменять, чтобы консольки не было?
новый топик, а этой -- галочку


как subsystem поменять, чтобы консольки не было? 
Флаг -mwindows. Оно?


новый топик, а этой -- галочку
 Да это тот же вопрос, по gcc)
Флаг -mwindows. Оно?
 А как ты его нашел, в --help не было о_О