![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
igor_bogomolov |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Имею microsoft visual c++ 2010 express. Никак не могу прикрутить ресурсы к dll.
Делаю так: 1. Получил кое как шаблон файла ресурса при помощи IDE, немного модифицировал его win_resources.rc
2. Добавил правило для сборки в cmake
3. Компилирую Dll компилируется, ресурсы тоже, но реально в dll никакой информации не добавляется. Почему? express версия вообще позволяет ресурсы к библиотеке добавлять? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
igor_bogomolov |
![]()
Сообщение
#3
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
ну а ты без CMake-а попробуй, самой студией (экспресс). Будут ресурсы вкомпиливаться или нет? Пытался, конечно, но не получилось. Сама студия (express) имеет ограничения в работе с ресурсами, я не нашел нужного пункта в меню (делал по докам с msdn) для создания файла ресурсов. Но если создать новый проект, студия его создаст (имею в виду файл ресурсов), но редактирование его не доступно. Я нашел примеры файлов ресурсов в инете, пытался их подсунуть. Самое интересное что они компилируются, я это вижу, но к dll никакая информация не добавляется |
|
|
DEADHUNT |
![]()
Сообщение
#4
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
это cmake ограничение, он не умеет напрямую ресурсы добавлять(помню по MinGW)
вот такой workaround, вначале объектник из ресурса создаётся, а он потом линкуется. тебе надо res сделать. |
|
|
igor_bogomolov |
![]()
Сообщение
#5
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
DEADHUNT, так ведь windres это утилита mingw. Именно так я и делаю когда использую этот компилятор. А сейчас меня компилятор msvc интересует. В нем есть утилита RC, для компиляции ресурсов. Он на самом деле запускается, и некий скомпилированный файл ресурсов (с расширением .rc.res) я получаю. Но эта информация не добавляется к dll.
|
|
|
DEADHUNT |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
попробуй в add_library напрямую res файл указать
|
|
|
igor_bogomolov |
![]()
Сообщение
#7
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Так этот файл результат компиляции, изначально его нет. Поэтому cmake выдаёт ошибку, что такого файла не существует.
Цитата Cannot find source file "win_resources.rc.res". Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx Как его правильно добавить? |
|
|
DEADHUNT |
![]()
Сообщение
#8
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
пропиши правило аналогичное
только для rc, а потом добавляй полученный res. |
|
|
igor_bogomolov |
![]()
Сообщение
#9
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Сделал так
Результат тот же. Всё компилируется но дополнительной информации в dll нет. Может у меня файл ресурсов не правильный. Раскрывающийся текст
Я этот пример тупо в инете нарыл. Что например значит BLOCK "040904b0"? Что это за цифры? Как должен выглядеть файл ресурсов? Мне на самом деле нужно добавить информацию о MIMEType. |
|
|
igor_bogomolov |
![]()
Сообщение
#10
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
Такая вот новая информация. Если я генерирую файл проекта для студии
открываю проект и компилирую уже с студии, то все отрабатывает правильно. Ресурсы добавляются.Если я делаю так и компилирую в консоли (этот вариант мне больше подходит), ресурсы к dll не добавляются. Чего же блин не хватает?
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 11.3.2025, 4:03 |