Russian Qt Forum
Ноябрь 13, 2019, 16:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: cmake + msvc + rc  (Прочитано 3827 раз)
igor_bogomolov
Самовар
**
Offline Offline

Сообщений: 138


Просмотр профиля
« : Январь 05, 2011, 14:43 »

Имею microsoft visual c++ 2010 express. Эта версия имеет некоторые ограничения в работе с ресурсами (например нельзя отредактировать rc файл из под IDE, пункта для создания rc файла так же не нашёл).  Но сам компилятор ресурсов присутствует.
У меня такой вопрос, возможно ли имея express версию студии добавить ресурсы к dll и если возможно, то что я тогда делаю не так?
А пытаюсь я это сделать следующим способом
1. Создал файл ресурсов
Код
C++ (Qt)
#include "..\resource.h"
 
#define APSTUDIO_READONLY_SYMBOLS
 
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
 
/////////////////////////////////////////////////////////////////////////////
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1, 0, 0, 100
PRODUCTVERSION 1, 0, 0, 1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x9L
#else
FILEFLAGS 0x8L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
   BLOCK "StringFileInfo"
   BEGIN
       BLOCK "040904b0"
       BEGIN
           VALUE "Comments", "Comments"
           VALUE "CompanyName", "MyCompany"
           VALUE "FileDescription", "FileDescription"
           VALUE "FileVersion", "1, 0, 0, 100"
           VALUE "InternalName", "InternalName"
           VALUE "LegalCopyright", "Copyright (C) 2010"
           VALUE "OriginalFilename", "npapi_plugin.dll"
           VALUE "PrivateBuild", "RCVERSION-20030212_100"
           VALUE "ProductName", "ProductName"
           VALUE "ProductVersion", "1, 0, 0, 1"
       END
   END
   BLOCK "VarFileInfo"
   BEGIN
       VALUE "Translation", 0x409, 1200
   END
END
 
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
 
1 TEXTINCLUDE  
BEGIN
   "resource.h\0"
   "\0"
END
 
2 TEXTINCLUDE  
BEGIN
   "#include ""afxres.h""\r\n"
   "\0"
END
 
3 TEXTINCLUDE  
BEGIN
   "\0"
END
 
#endif    // APSTUDIO_INVOKED
 
/////////////////////////////////////////////////////////////////////////////
 
 
 
#ifndef APSTUDIO_INVOKED
 
 
/////////////////////////////////////////////////////////////////////////////
#endif    // не APSTUDIO_INVOKED


2. Добавил правило для сборки в cmake

Код
Bash
   list(APPEND RCFILE  ${PROJECT_SOURCE_DIR}/win_resources.rc)
   add_library(${PROJECT} SHARED ${SOURCES}
                                 ${DEFFILE}
                                 ${RCFILE}

3. Компилирую

Dll компилируется, ресурсы тоже, но реально в dll никакой информации не добавляется.
Почему?
Записан
igor_bogomolov
Самовар
**
Offline Offline

Сообщений: 138


Просмотр профиля
« Ответ #1 : Январь 05, 2011, 18:27 »

Такая вот новая информация. Если я генерирую файл проекта для студии
Код
Bash
cmake -G "Visual Studio 10" ..
открываю проект и компилирую уже с студии, то все отрабатывает правильно. Ресурсы добавляются.

Если я делаю так
Код
Bash
cmake -G "NMake Makefiles" ..
и компилирую в консоли (этот вариант мне больше подходит), ресурсы к dll не добавляются.
Чего может не хватать?
Записан
inst
Гость
« Ответ #2 : Март 18, 2011, 01:32 »

Возможно проблема связана с этим багом?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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