Перехожу с масма на фасм и имею некоторую проблему, а именно: Code (Text): include 'win32w.inc' ; файл не найден include '%fasminc%\win32wx.inc' ; файл не найден include 'D:\fasmw168\INCLUDE\win32wx.inc' ; все ок В FASMW.INI значится [Environment] Include=D:\fasmw168\INCLUDE Где я туплю?
Так, методом тыка я понял, что работает только при запуске из фасмовского редактора, что же - очень коварно. Что надо передать самому транслятору что бы он читал .ini и работал так, как я хочу?
00h можно просто использовать переменные окружения если установить fasm = D:\fasm168 то следующая строчка сработает как надо include '%fasm%\include\win32wx.inc'
Вопрос в том что на своей машине я могу прописать и полный путь (как я пока и сделал), но при переносе же все это потеряется.
Code (Text): for /f "usebackq eol=* delims=*" %I IN (`dir /b /s \fasm.exe`) DO echo set fasm=%~I > set.bat && set.bat
Code (Text): for /f "usebackq eol=* delims=*" %I IN (`dir /b /s \fasm.exe`) DO echo set fasm="%~I" > set.bat && set.bat
00h Общесистемные переменные окружения лучше не трогать на случай возможных будущих конфликтов с другими приложениями. 1) Если компилируете в fasmw, то, как Вы уже выяснили, следует в переменной include из раздела [Environment] через точку с запятой перечислить все папки, откуда Вы бы хотели брать инклуды. 2) Если компилируете в RadAsm, то Option->Environment Variables. Аналогично нужно добавить переменную include с перечисленными через точку с запятой путями. 3) Если Notepad++, то в скрипте nppexec в начале нужно указать ENV_SET include = ... дальше Вы уже догадались. 4) Прикола компиляции в cmd или пакетными файлами не осознаю, но там аналогично: set include=... В общем чем запускаете компилятор, там и устанавливаете include. Разумеется, что после этого будет работать вариант include 'win32w.inc'.
Т.е. в таком случае я указываю окружение где хочу, а в сорц не кладу батник - пусть гипотетический юзер компилит через оригинальный редактор
Я так раньше делал: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] "fasm"="C:\I\Apps\Fasm\include" Сейчас юзаю Fasm.ini [Environment] Fasm=C:\I\Apps\Fasm\include А зачем IDE не использовать, там всёравно никаких же ключей нет типа /SUBSYSTEM ? =)