Russian Qt Forum
Март 28, 2024, 11:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]Проблема подключения RC_FILE  (Прочитано 11643 раз)
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
« Последнее редактирование: Июль 03, 2017, 15:39 от maria123252 » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Июнь 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
 
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4724



Просмотр профиля WWW
« Ответ #2 : Июнь 07, 2017, 12:40 »

вызывала qmake после редактирования .pro? какую ошибку выдает? кодировка rcinfo.rc Windows-1251?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mitrich
Гость
« Ответ #3 : Июнь 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.
Записан
maria123252
Гость
« Ответ #4 : Июнь 07, 2017, 14:14 »

вызывала qmake после редактирования .pro? какую ошибку выдает? кодировка rcinfo.rc Windows-1251?
qmake вызывала, кодировка rcinfo.rc Windows-1251,
а ошибки разные выдает и error 1 и о том что директорию не нашел
Записан
maria123252
Гость
« Ответ #5 : Июнь 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.

Изменила как вы рекомендовали, но ошибка осталась
« Последнее редактирование: Июнь 07, 2017, 14:29 от maria123252 » Записан
mitrich
Гость
« Ответ #6 : Июнь 07, 2017, 14:41 »

Это уже другая ошибка - файл logo_min.ico не найден. Нагуглите какой нибудь freeware windows icon editor и конвертируйте logo_min.png в logo_min.ico
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #7 : Сентябрь 15, 2017, 11:27 »

А можно через QApplication считать VALUE "FileDescription" ...?
Например если я хочу в заголовке приложение так же назвать.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #8 : Сентябрь 15, 2017, 12:19 »

В гугле забанили GetFileVersionInfo, да?
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 23.