Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Вниз

Условная компиляция   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.015 c
6-1118900084
lightix
2005-06-16 09:34
2005.10.09
Отправка e-mail с помощью INDY:как получить MSGID письма?


1-1126718955
WST
2005-09-14 21:29
2005.10.09
-= нечеткое сравнение строк =-


14-1127210398
ПЛОВ
2005-09-20 13:59
2005.10.09
Напомните...


3-1124880185
Ландграф Павел
2005-08-24 14:43
2005.10.09
пишет ошибка "INSERT INTO statement"


14-1127296958
Satirus
2005-09-21 14:02
2005.10.09
&amp;#65387;Женщины и проги&amp;#65403; Автор неизвестен.)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский