Текущий архив: 2005.10.09;
Скачать: CL | DM;
Вниз
Условная компиляция Найти похожие ветки
← →
Sphinx © (2005-09-15 12:32) [0]в файле проекта объявлена директива:
{$DEFINE DEBUG}
а в юните:{$IFDEF DEBUG}...{$ENDIF}
но этот код не компилируется до тех пор, пока я{$DEFINE DEBUG}
не пропишу непосредственно в юните.
Как сделать, чтобы объявленная в проекте директива условной компиляции была видна во всех юнитах, используемых проектом.
P.S. влияет ли на видимость таких директив способ подключения юнитов:uses
Unit1,
Unit2 in "Unit2.pas";
← →
Reindeer Moss Eater © (2005-09-15 12:34) [1]Project->Options->Directories/Conditionals
← →
Digitman © (2005-09-15 12:36) [2]пропиши "DEBUG" в опциях проекта (поле ввода Conditional defines)
← →
Sphinx © (2005-09-15 12:42) [3]Тормознул...Спасибо... ;)
← →
Sphinx © (2005-09-15 21:01) [4]Отлично...
А теперь тоже самое во FreePascal. :)
Для dcc32 это параметр -D<...>
а для FPC не нашел аналога...
← →
PVOzerski © (2005-09-16 10:09) [5]Тут вот какая прелесть происходит - компилятор без явной команды build (ppc386 -B <имя_файла> в случае FreePascal) уже откомпилированные модули не пересобирает (если не изменились файлы, на которые они ссылаются). Естественно, на последующее изменение директив условной компиляции реакции нет. Выходы вот какие:
1) (с) справка, выдаваемая компилятором по поводу ключика командной строки, подсказывает (чувствительно к регистру!):
-d<x> defines the symbol <x>
2) сделать .inc-файл со всеми дефайнами и ссылаться на него из всех модулей.
← →
Sphinx © (2005-09-16 13:48) [6]2 PVOzerski ©
В который раз матерюсь на свою невнимательность :(
Для fpc искал -D и -Fd (по аналогии с -U и -Fu) а на -d не обратил внимания даже :(
Про полный билд...я просто занес все это в батники и при необходимости перекомпилирую или полностью (-B) или частично запуская разные файлы :)
Страницы: 1 вся ветка
Текущий архив: 2005.10.09;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.013 c