crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> cmake + msvc + rc, добавление ресурсов к dll
igor_bogomolov
  опции профиля:
сообщение 5.1.2011, 1:45
Сообщение #1


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Имею microsoft visual c++ 2010 express. Никак не могу прикрутить ресурсы к dll.
Делаю так:
1. Получил кое как шаблон файла ресурса при помощи IDE, немного модифицировал его
win_resources.rc
// Описание ресурсов, созданное в Microsoft Visual C++.
//
#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
/////////////////////////////////////////////////////////////////////////////
//
// Создано из ресурса TEXTINCLUDE 3.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // не APSTUDIO_INVOKED


2. Добавил правило для сборки в cmake
    list(APPEND RCFILE  ${PROJECT_SOURCE_DIR}/win_resources.rc)
    add_library(${PROJECT} SHARED ${SOURCES}
                                  ${DEFFILE}
                                  ${RCFILE}

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

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



express версия вообще позволяет ресурсы к библиотеке добавлять?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 13:12