История такая. Изучаю асм по урокам икзелиона. До сих пор когда требовалось сделать из асм файла экзешник, пользовался средствами масма32. Но в 8 уроке потребовалось слинковать файл проги с файлом ресурсов и это у меня не получилось. Вроде ввожу все по инструкции, но в консоли выводится только копирайты мелкомягких и никакого сообщения об ошибке, при этом ехе-шника не появляется. Может кто-нить знает в чем здесь может быть проблема? Вот что я ввожу(символ в символ): c:\masm32\bin\link.exe c:\masm32\progs\menu\windowmenu.obj c:\masm32\progs\menu\menu.res Все файлы лежат там, где прописано.
файлик buiild.bat Код (Text): @echo off if exist %1.obj del %1.obj if exist %1.exe del %1.exe @echo %1 \masm32\bin\ml /c /coff %1.asm if errorlevel 1 goto errasm if not exist rsrc.obj goto nores \masm32\bin\Link /SUBSYSTEM:WINDOWS /OPT:NOREF %1.obj rsrc.obj if errorlevel 1 goto errlink dir "1.* goto TheEnd :nores \masm32\bin\Link /SUBSYSTEM:WINDOWS /OPT:NOREF %1.obj if errorlevel 1 goto errlink dir %1.* goto TheEnd :errlink echo _ echo Link error goto TheEnd :errasm echo _ echo Assembly Error goto TheEnd :TheEnd pause
& Bres.bat Код (Text): @echo off \masm32\bin\rc /v rsrc.rc \masm32\bin\cvtres /machine:ix86 rsrc.res pause
Признаться, не догнал как пользоваться батниками. Как например заставить build.bat исполнять мой файл, а не %1? Не менять же для этого все %1 на имя моего файла? Я пробовал сам выполнять команды батника из командной строки, но получилось только создать res и obj файлы, а с линковкой опять та же проблема. Извиняюсь за возможно тупые вопросы, но в гугле ничего толкового не нашел
kolianiuz %1 -- это не имя файла а первый параметр после названия bat-файла в командной строке это выглядит как buiild.bat windowmenu подробнее здесь
Ну вообще то как бы... менять, сложно??? ))) это если запускать батник без параметров... ну а иначе вон го по сцылке Mikl__...
Уф..Получилось слинковать с помощью qeditor-a, а батником никак, хотелось бы знать почему. Делаю так: пишу адрес build.bat, затем адрес асм файла, но появляется ошибка lnk1181, что не получается открыть windowmenu.obj. Значит батник до этого не создал obj файл? Почему? Кроме build.bat пытался импользовать bldall и батник, на код которого ты дал ссылку - та же ошибка ((.
kolianiuz поправьте в батнике все %1 на "%~dpn1.расширение" где расширение это часть оставшаяся часть %1.exe например if exist %1.obj заменяется на if exist "%~dpn1.obj" после чего берете мышку и просто перетаскиваете нужный asm файл на батник. все должно заработать. если хотите разобраться с bat файлами, то советую почитать help к командам и для большего понимания вставлять echo %1 && pause там где хотите выяснить, что же на самом деле представляет из себя та или иная конструкция.