Проблема с созданием ресурсов, windres |
Проблема с созданием ресурсов, windres |
rzr |
2.02.2007 8:38
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Денис Репутация: 0 |
Всё делал как здесь: http://www.fpc.by.ru/win32/win32-02.shtml
Проблема возникает с windres, которая на комманду: windres --preprocessor fprcp -i 1.rc -o 1.res выдает: windres: can't open font file 'exception': no such file or directory ОС: Xp sp-2 FPC: 2.0.4 Чё делать? Это, кстати, если делать как по ссылке (в .rc-файле подключать #include "commands.pp"). Попробовал я тут не ".pp", а ".ppu"... Теперь ошибка windres: 5:parse error. Вообще, не могли бы Вы описать процесс создания ресурса... Вот мой 1.rc Цитата #include "commands.ppu" MAINMENU MENU BEGIN POPUP "COMMANDS" BEGIN MENUITEM "FIRST CMD",CMD_FIRST MENUITEM "SECOND CMD",CMD_SECOND MENUITEM "EXIT",CMD_EXIT END END Вот commands.pp:
Благодарю за отзывы Сообщение отредактировано: rzr - 2.02.2007 10:07 |
volvo |
2.02.2007 19:31
Сообщение
#2
|
Гость |
Мне так и не удалось скомпилировать RES-файл по инструкции, приведенной на fpc.by.ru... Проблема вся в том, что в доках ясно указано, что fprcp берет данные из файла, и выводит их по умолчанию в stdout, то есть на консоль, и по умолчанию ключ -C не установлен, а windres хотя и позволяет задать название программы-препроцессора, к сожалению не позволяет этому самому препроцессору передавать параметры...
Чтобы весь процесс прошел корректно, есть несколько путей: 1. (этот путь упомянут по приведенной ссылке), не пользоваться символическими описаниями констант, а пользоваться только их численными значениями, тогда необходимость в препроцессоре просто отпадает, и проблема решается. Но действительно, тогда придется помнить все эти числовые значения... 2. Подключать файл, в котором константы описаны в стиле C, в принципе - недостаток тот же, нельзя будет напрямую использовать содержимое приинклуденного файла в проекте, хотя windres отрабатывает вот с такими файлами прекрасно: commands.cpp #define CMD_FIRST 0x1011.rc #include "commands.cpp" 3. Написать небольшой BAT-файл, обманывающий утилиты (для одного присоединяемого файла работает прекрасно, для нескольких - придется чуть-чуть доработать): run_me.bat copy %1.pp %1.pc 1.rc (внимательнее, подключается НЕ pp-файл, а файл с другим расширением !!!) #include "1.pc" Запускать так: run_me {имя_файла ресурсов без расширения} Понятно, что название подключаемого файла, pp-файла и rc-файла должно совпадать... Но это довольно легко обойти, и работать со многими include-ами в одном rc-файле, как я и сказал выше... В результате работы BAT-а - все врЕменные файлы удаляются, и в папке остаются исе исходные + скомпилированный файл ресурсов... |
rzr |
5.02.2007 1:38
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 17 Пол: Мужской Реальное имя: Денис Репутация: 0 |
Спасибо за мегаисчерпывающий ответ, вопрос закрыт
|
Текстовая версия | 28.05.2024 18:11 |