ПРОБЛЕМЫ СОВМЕСТИМОСТИ DELPHI И WinAVR

Опубликовано: 01.09.2018

     - Ох, уж мне этот Дельфи, - пробурчал с иронией мистер Бобот, наполняя чашку ароматным кофе, - вечно он все испортит в стройной гармонии выдающейся операционной системы...

из неопубликованных записок Бибота

Проблема совместимости различных программ в рамках одной операционной системы достаточно распространена. Не избежала этих проблем и связка WinAVR + Delphi . Установленная вместе с популярной средой программирования Delphi, WinAVR перестает выполнять функции компилятора, если компиляция вызывается непосредственно из оболочки Programmers Notepad. Так как это наиболее удобный способ, реализованный в этой среде разработки, то мы сталкиваемся с довольно неприятной вещью.

Что же происходит в случае установки в одной операционной системе этих двух замечательных программ? Каждая из них содержит файл с именем make.exe. И оба каталога, содержащих эти файлы, при установке прописываются в системной переменной PATH.

При компиляции программы в WinAVR происходит обращение к файлу make.exe . Но вот беда: это обращение через системную переменную PATH происходит не к файлу, хранящемуся в папке WinAVR\utils\bin , а к файлу, находящемуся в папке Delphi7\Bin (если, например, у вас установлена 7-я версия Delphi). И, конечно же, при этом файл make.exe, изготовленный в кузнице Inprise Corp., не может понять, что от него хотят.

В окошке Output в Programmers Notepad появляется следующая надпись:

Как же нам вернуть функциональность родного make.exe из набора WinAVR? Для этого есть несколько путей. Рассмотрим один из них, кажущийся наиболее простым.

В папке tools , которая располагается непосредственно в папке с Programmers Notepad, лежит единственный файл WinAVR.xml . Этот файл отвечает в Programmers Notepad за прописанные в меню Tools команды. В том числе и [WinAVR] Make All, с которой начинается данная проблема. Если мы отредактируем этот файл с помощью подходящего текстового редактора и допишем относительный путь в теги command="make.exe" , чтобы они выглядели как command="../utils/bin/make.exe" , то на этом проблема и будет решена. Правда, при этом папки с вашими проектами при компиляции должны будут находиться непосредственно в папке с WinAVR.

Если ваши проекты находятся в другой папке, лежащей непосредственно на диске, на котором установлен WinAVR, то вам следует прописывать относительный путь вида "../../winavr/utils/bin/make.exe".

Следует обратить внимание на одну деталь. Если вы перед редактированием файла WinAVR.xml сделаете его копию и оставите ее в той же папке tools , то, запустив Programmers Notepad, обнаружите в меню Tools не один, а целых два набора команд Make-Clean-Program.

Файлы с XML разметкой, расположенные в папке tools , могут быть очень полезны при оформлении единой среды разработки в WinAVR с использованием Programmers Notepad. О том, как их использовать, можно прочитать в следующем "Совете от мистера Бобота" .

rss