Привет всем! У меня возникла проблемка. Немного выучил ассемблер под дос, начал изучать под винду, но никак не получается скомпилировать файл. пробовал по разным учебникам - результат один. Команда ml /c /coff *.asm проходит нормально, а при линковании(link *.obj /subsystem:windows) вылазят ошибки: 1) "LINK : warning L4017: /subsystem:unrecognized option name; option ignored" 2) "*.obj : fatal error L1101: invalid object module Object file offset: 1 Record type: 4c" у меня установлен masm 6.11, windows Me
Скачай лучше masm 8.2 отсюда: movsd.com В чем проблема не знаю, возможно нужно писать в верхнем регистре - "link *.obj /SUBSYSTEM:WINDOWS"
Спасибо огромное еще раз! C этим масмом все работает. только теперь возник ещё один вопрос - он не находит файлы библиотек (user32.lib, итд) хотя они находятся в папке lib. А если эти библиотеки копировать в папку с исходным файлом *.asm тогда компилируется без проблем. Неужели приходится всегда необходмые библиотеки и файлы *.inc копировать в ту же папку, или можно указать на путь до них в какихнибудь настройках?
Пожалуйста! )) Тут есть, как минимум, 2 решения: 1. Прописать полный путь в includelib (напр. "includelib \masm32\lib\user32.lib"), с include почти также,(include \masm32\include\windows.inc); 2. Указать линкеру папку с lib'ми с помощью "/LIBPATH". Например "link *.obj /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib"; 1-й способ мне кажется наиболее удобным. Еще, по-моему, можно установить переменной окружения "MASMLIB" путь к lib файлам…
IgorV 1-й способ мне кажется наиболее удобным. Imho - плохой способ. Гибчее использовать переменную среды окружения LIB.