Russian Qt Forum

Qt => Общие вопросы => Тема начата: Racot от Февраль 01, 2012, 22:18



Название: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Racot от Февраль 01, 2012, 22:18
делаю всё как полагается:
-кидаю иконку my_icon.ico в папку с проектом........
-создаю там же текстовый фаил myapp.rc и в нем пишу  - IDI_ICON1 ICON DISCARDABLE "my_icon.ico"
- в файле проекта дописываю -  RC_FILE = myapp.rc (пробывал поразному - win32:  RC_FILE = myapp.rc......и  RC_FILE += myapp.rc)......

при сборке ошибка:

 No rule to make target `..\SED_NEW\myapp.rc', needed by `release/myapp_res.o'.  Stop.

чего он от меня хочет???


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Racot от Февраль 01, 2012, 22:33
ээээээээээээ....................убрал только что RC_FILE = myapp.rc из проекта а он мне всё равно эту ошибку выдаёт при сборке........это как?? уже и пересобирал полностью........та же  ошибка((((((


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: mutineer от Февраль 01, 2012, 22:44
Это про Qt вообще вопрос?


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: thechicho от Февраль 01, 2012, 23:51
удали папки release, debug
файлы
Makefile
Makefile.Debug
Makefile.Release

собери


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Racot от Февраль 02, 2012, 06:03
удали папки release, debug
файлы
Makefile
Makefile.Debug
Makefile.Release

собери

убрал  RC_FILE = myapp.rc и Makefile , всё пересобрал - всё  пошло........только опять добавил RC_FILE = myapp.rc в .pro
и опять тоже самое.......((((( :(


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: QtCoder от Февраль 02, 2012, 10:33
ты в myapp_res.cpp на .rc никак не ссылаешся случаем?


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Racot от Февраль 02, 2012, 18:16
myapp_res.cpp - а это откуда?


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: thechicho от Февраль 03, 2012, 04:30
ты просто сказочный ...
зачем убирать RC_FILE = myapp.rc


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: QtCoder от Февраль 03, 2012, 08:04
myapp_res.cpp - а это откуда?
Отсюда
No rule to make target `..\SED_NEW\myapp.rc', needed by `release/myapp_res.o'.  Stop.

Объектник myapp_res.o генерится из myapp_res.cpp


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Racot от Февраль 03, 2012, 18:28
Цитировать
зачем убирать RC_FILE = myapp.rc

сто бы проверит что так проект собирается.....

Цитировать
Объектник myapp_res.o генерится из myapp_res.cpp

а это уже интересно.......ведь у меня нет никакого myapp_res.cpp......откуда ему взяться????


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: sudo от Февраль 03, 2012, 18:36
Не цепляет и не подцепит, пока нормальный Qt-шный ресурс не напишешь. Как писать ресурсы, написано в Ассистенте, их можно прекрасно создавать и в редакторе Креатора


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Racot от Февраль 03, 2012, 19:11
Цитировать
Не цепляет и не подцепит, пока нормальный Qt-шный ресурс не напишешь.

Зачем файл ресурсов?? ведь без них можно.....делала как  здесь http://doc.trolltech.com/4.5/appicon.html .........


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: thechicho от Февраль 04, 2012, 09:17
 :D
удали все, что автоматически сгенерировано
RC_FILE = myapp.rc не убирай
собери


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: cya-st от Февраль 05, 2012, 17:23
Цитировать
Не цепляет и не подцепит, пока нормальный Qt-шный ресурс не напишешь.

Зачем файл ресурсов?? ведь без них можно.....делала как  здесь http://doc.trolltech.com/4.5/appicon.html .........
там кстати описан вариант для ресурсов :).
И еще, ссылку не надо было в маил тег пихать ;)


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: kambala от Февраль 05, 2012, 18:47
а, к слову, можно ли использовать более одного .rc файла в .pro? у меня иконка в одном, а всякие строчки - в другом.


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: thechicho от Февраль 06, 2012, 02:11
ну если работает, то можно :D да и по логике, почему должно быть нельзя...
а чо в один все не запихнешь? скинь плиз, в кот. всякие строчки. если я правильно понимаю там кто автор и тп?


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: kambala от Февраль 06, 2012, 02:43
руки не дошли ещё проверить - под виндой пишу в студии.

раньше пользовался только иконкой, а щас вот первый раз добавил строчки отдельным файлом. не уверен куда там эту иконку запихивать :)

.rc:
Код
C++ (Qt)
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
 
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
 
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
 
/////////////////////////////////////////////////////////////////////////////
// Russian resources
 
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
#ifdef _WIN32
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
#endif //_WIN32
 
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
 
1 TEXTINCLUDE
BEGIN
   "resource.h\0"
END
 
2 TEXTINCLUDE
BEGIN
   "#include ""afxres.h""\r\n"
   "\0"
END
 
3 TEXTINCLUDE
BEGIN
   "\r\n"
   "\0"
END
 
#endif    // APSTUDIO_INVOKED
 
 
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
 
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,2,0,0
PRODUCTVERSION 0,2,0,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
   BLOCK "StringFileInfo"
   BEGIN
       BLOCK "000004b0"
       BEGIN
           VALUE "CompanyName", "mycompany"
           VALUE "FileDescription", "mydesc"
           VALUE "FileVersion", "0.2"
           VALUE "InternalName", "myappname"
           VALUE "LegalCopyright", "Copyright (C) kambala 2011-2012"
           VALUE "OriginalFilename", "myexename.exe"
           VALUE "ProductName", "myappname"
           VALUE "ProductVersion", "0.2"
       END
   END
   BLOCK "VarFileInfo"
   BEGIN
       VALUE "Translation", 0x0, 1200
   END
END
 
#endif    // Russian resources
/////////////////////////////////////////////////////////////////////////////
 
 
 
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
 
 
/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

resource.h:
Код
C++ (Qt)
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by MedianXLOfflineTools.rc
 
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        101
#define _APS_NEXT_COMMAND_VALUE         40001
#define _APS_NEXT_CONTROL_VALUE         1001
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif
 


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Racot от Февраль 07, 2012, 21:16
Щас переустановил винду (не из-за этой проблемы конечно))))) иконка появилась........в чём была проблема фиг знает.........вопрос снят. всем спасибо)))


Название: Re: Не получается нацепить иконку на экзешник в винде!!!
Отправлено: Eronex от Ноябрь 07, 2012, 09:45
делаю всё как полагается:
-кидаю иконку my_icon.ico в папку с проектом........
-создаю там же текстовый фаил myapp.rc и в нем пишу  - IDI_ICON1 ICON DISCARDABLE "my_icon.ico"
- в файле проекта дописываю -  RC_FILE = myapp.rc (пробывал поразному - win32:  RC_FILE = myapp.rc......и  RC_FILE += myapp.rc)......

при сборке ошибка:

 No rule to make target `..\SED_NEW\myapp.rc', needed by `release/myapp_res.o'.  Stop.

чего он от меня хочет???

Отсутствия пробелов в пути к проекту :) Дело в том что путь к файлу ресурсов передаётся в <winres.exe> без кавычек. Это можно увидеть в "Make.Release".