Russian Qt Forum

Qt => Общие вопросы => Тема начата: maria123252 от Июнь 07, 2017, 12:23



Название: [РЕШЕНО]Проблема подключения RC_FILE
Отправлено: maria123252 от Июнь 07, 2017, 12:23
Подскажите, пожалуйста, как правильно подключить RC_FILE в проект, собранный в windows 7, x86, Qt 5.6.2 (mingw), Qt Creator 4.0.3.
в .pro файле прописала строку RC_FILE = rcinfo.rc
но Qt не хочет компилировать файл
Прикрепляю rcinfo.rc со следующим содержанием, и подсвечивает строки с подключением иконок.
#ifndef RCFILE_H
#define RCFILE_H

LANGUAGE LANG_RUSSIAN, SUBLANG_RU

IDI_ICON1 ICON DISCARDABLE "logo_min.png"
IDR_APP_ICON ICON "client_mkpu.png"

#define VER_FILEVERSION 1,0,0,0
#define VER_FILEVERSION_STR "1.0.0.0\0"

#define VER_PRODUCTVERSION 1,0,0
#define VER_PRODUCTVERSION_STR "1.0.0\0"

#define VER_FILEDESCRIPTION_STR "Client mkpu Application"
#define VER_INTERNALNAME_STR "Sensor"
#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 2017, "
#define VER_ORIGINALFILENAME_STR "Client_mkpu.exe"
#define VER_PRODUCTNAME_STR "Клиент МКПУ"

VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", VER_FILEDESCRIPTION_STR
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", VER_INTERNALNAME_STR
VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
VALUE "ProductName", VER_PRODUCTNAME_STR
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END
END

BLOCK "VarFileInfo"
BEGIN
    VALUE "Translation", 0x409, 1252
END
END
#endif // RCFILE_H


Название: Re: Проблема подключения RC_FILE
Отправлено: gil9red от Июнь 07, 2017, 12:40
Посмотрите как у меня сделано: https://github.com/gil9red/NotesManager/blob/master/app.rc

Код
C++ (Qt)
IDI_ICON1 ICON DISCARDABLE "icons/app_icon.ico"
 
#include <windows.h>
#include "appinfo.h"
 
VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
BEGIN
   BLOCK "StringFileInfo"
   BEGIN
       BLOCK "040904E4"
       BEGIN
           VALUE "Comments",           VER_COMMENTS
           VALUE "CompanyName",        VER_COMPANYNAME_STR
           VALUE "FileDescription",    VER_FILEDESCRIPTION_STR
           VALUE "FileVersion",        VER_FILEVERSION_STR
           VALUE "InternalName",       VER_INTERNALNAME_STR
           VALUE "LegalCopyright",     VER_COMPANYNAME_STR
           VALUE "OriginalFilename",   VER_ORIGINALFILENAME_STR
           VALUE "ProductName",        VER_PRODUCTNAME_STR
           VALUE "ProductVersion",     VER_PRODUCTVERSION_STR
       END
   END
 
   BLOCK "VarFileInfo"
   BEGIN
       VALUE "Translation", 0x409, 1252
   END
END
 


Название: Re: Проблема подключения RC_FILE
Отправлено: kambala от Июнь 07, 2017, 12:40
вызывала qmake после редактирования .pro? какую ошибку выдает? кодировка rcinfo.rc Windows-1251?


Название: Re: Проблема подключения RC_FILE
Отправлено: mitrich от Июнь 07, 2017, 14:05
IDI_ICON1 ICON DISCARDABLE "logo_min.png"
IDR_APP_ICON ICON "client_mkpu.png"
На месте IDI_ICON1 и IDR_APP_ICON должны быть числовые идентификаторы. Виндовые программисты традиционно создают resource.h (либо он автоматически создается редактором ресурсов), в котором пишут
Код
C
#define IDI_ICON1    1
#define IDR_APP_ICON 2
 
а потом его подключают в RC файл и в исходники. В данном случае можно написать просто
Код
C
1 ICON "logo_min.ico"
2 ICON "client_mkpu.ico"
 
В качестве иконки приложения будет использоваться иконка, которая идёт первой.

Да, и иконка должна в формате ICO.


Название: Re: Проблема подключения RC_FILE
Отправлено: maria123252 от Июнь 07, 2017, 14:14
вызывала qmake после редактирования .pro? какую ошибку выдает? кодировка rcinfo.rc Windows-1251?
qmake вызывала, кодировка rcinfo.rc Windows-1251,
а ошибки разные выдает и error 1 и о том что директорию не нашел


Название: Re: Проблема подключения RC_FILE
Отправлено: maria123252 от Июнь 07, 2017, 14:18
IDI_ICON1 ICON DISCARDABLE "logo_min.png"
IDR_APP_ICON ICON "client_mkpu.png"
На месте IDI_ICON1 и IDR_APP_ICON должны быть числовые идентификаторы. Виндовые программисты традиционно создают resource.h (либо он автоматически создается редактором ресурсов), в котором пишут
Код
C
#define IDI_ICON1    1
#define IDR_APP_ICON 2
 
а потом его подключают в RC файл и в исходники. В данном случае можно написать просто
Код
C
1 ICON "logo_min.ico"
2 ICON "client_mkpu.ico"
 
В качестве иконки приложения будет использоваться иконка, которая идёт первой.

Да, и иконка должна в формате ICO.

Изменила как вы рекомендовали, но ошибка осталась


Название: Re: Проблема подключения RC_FILE
Отправлено: mitrich от Июнь 07, 2017, 14:41
Это уже другая ошибка - файл logo_min.ico не найден. Нагуглите какой нибудь freeware windows icon editor (https://www.google.com/search?q=freeware+windows+icon+editor) и конвертируйте logo_min.png в logo_min.ico


Название: Re: [РЕШЕНО]Проблема подключения RC_FILE
Отправлено: deMax от Сентябрь 15, 2017, 11:27
А можно через QApplication считать VALUE "FileDescription" ...?
Например если я хочу в заголовке приложение так же назвать.


Название: Re: [РЕШЕНО]Проблема подключения RC_FILE
Отправлено: kuzulis от Сентябрь 15, 2017, 12:19
В гугле забанили GetFileVersionInfo (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647003(v=vs.85).aspx), да?