Здраствуйте, я ещё совсем новичок, но у меня есть вопрос относительно masm32. Как "вшить" фаил ресурсов в фаил програмы при компилировании и/или вписать его прямо в исходник програмы? В тутотриале Iczelion'а ответа не нашёл, поэтому решил обратиться к вам.
из rc делаешь res, потом obj. Потом при линковке просто добавляешь этот обж в ком. строку. Посмотри bres.bat в пакете масма - увидишь, как делать такую конвертацию. Что же касается написания самого rc, то тут читай хелп масма - там написано, как объявлять иконки, диалоги и прочие ресурсы. А еще можно каким-нить редактором ресурсов создать готовый rc или res. А дальше - как я и написал.
Можно поподробнее? Вот я создал из *.rc - *.obj фаил и как теперь будет выглядеть компиляция файла test.asm с готовым res.obj? Сам я автоматизировал процесс компиляции через build.bat из masm32/bin. Что в нём поправить, чтоб компилировать можно было просто командой build имя_файла имя_файла_ресурсов?
\masm32\bin\ml /c /coff test.asm \masm32\bin\rc test.rc \masm32\bin\link /NOLOGO /SUBSYSTEM:WINDOWS /RELEASE /LIBPATH:\masm32\lib test.obj test.res Это уже Вам решать.
ты сначала компилируешь файл .asm в .obj. Потом линкуешь. Просто прилинкуй файл ресурсов. Выглядит примерно так: Код (Text): \masm32\bin\link /SUBSYSTEM:WINDOWS test.obj rsrc.obj где rsrc.obj - скомпилированные ресурсы
Линкуется вроде бы такой строчкой: \masm32\bin\Link /SUBSYSTEM:WINDOWS "имя_файла.obj" имя_файла.res В МАСМе есть текстовый редактор QEDITOR.EXE. В меню script есть пункт Create makeit.bat. Можешь поковыряться с ним.
Quantum а шо, линковать можно уже .res, а не .obj? П.С.: а можно как-нить заставить масм конвертировать "испорченную" с точки зрения формата иконку из .rc в .res? А то обычным способом отказывается.
Вот значит... Я тут пошевелил мозгами и отредактировал build.bat. Теперь я компилирую командой: build имя_исходника имя_файла_ресурсов Но возникла трабла - если фаил ресурса не указать то компилировать он не будет, а мне надо чтоб в случае если второй параметр не указан, то он бы просто компилировал без этого файла ресов...
Дык ты сделай шаблоны. 1-й - для ехе 2-й - для длл 3-й - батник с компиляцией ресурсов 4-й - батник без компиляции ресурсов И в каждом новом проекте выбирай, что тебе надо. Зачем такие сложные извраты? П.С. есть такая фишка как if exists some_file some_action. Вот так вот можно. Тока ресурсы тогда называй одинаково. Или применяй маску типа set filename=имя файла/ if exist %filename%.exe del %filename%.exe. Это я как пример привожу
MSoft Можно. ChuCha Задайте обоим файлам (asm и rc) одно и тоже имя: test.asm и test.rc. Вызывайте батник так: build test В батнике: if not exist "%1.rc" goto compile_witout_rc и т.д. ЗЫ: Опоздал
На мой взгляд легче сделать один фаил "посложнее" и не создавать отдельные батники для каждого вида компиляции. Ну тык я так и делал... Ну я использую имена которые мне удобнее... Впрочем тут разницы особой нету Проблема решена, всем спасибо