Условная компиляция. Как сделать проще?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Условная компиляция. Как сделать проще?

Сообщение Ichthyander » 17.10.2009 14:04:19

Условную компиляцию выполняю таким образом
Код: Выделить всё
unit UnitName;
{$mode objfpc}{$H+}
{$define debug}
... ... ... ...
... ... ... ...
... ... ... ...
{$ifdef debug}
... ... ...
{$endif}

Это для отладочных сборок программы. Кроме того, хочу сделать такую же условную компиляцию для различных сборок индивидуальных версий программы (вот так, к примеру: {$define user1}). В случае, если нужно отключить переменную компилятора, то просто комментю - //{$define debug}
Но...
Не очень удобно, включать и выключать так переменную для каждого модуля в проекте. Можно ли как-то включать и выключать такую переменную сразу для всего проекта?
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Условная компиляция. Как сделать проще?

Сообщение Sergei I. Gorelkin » 17.10.2009 14:23:11

Можно, на страничке "другие" в диалоге параметров компилятора в "параметры пользователя" вписываешь что-то вида -ddebug -duser1, и оно применяется ко всем файлам проекта.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Условная компиляция. Как сделать проще?

Сообщение Mr.Smart » 17.10.2009 14:24:21

Ключ командной строки fpc -d[define].
В Lazarus можно добавить в настройках компилятора на вкладке Другое "параметры пользователя"
например
Код: Выделить всё
-ddebug

определит дефайн debug для всего проекта :wink:
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Условная компиляция. Как сделать проще?

Сообщение Ichthyander » 17.10.2009 14:28:48

Спасибо! Я надеялся, что должно быть что-нибудь эдакое :)
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Условная компиляция. Как сделать проще?

Сообщение zub » 17.10.2009 21:44:47

Можно в начале каждого файла проекта вставить чтонибудь типа {$INCLUDE def.inc}
и соотвктственно в файле def.inc определять всё что учодно для всего проекта
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

Рейтинг@Mail.ru