Difference between revisions of "IDE Window: Compiler Options/ru"

From Lazarus wiki
Jump to navigationJump to search
Line 168: Line 168:
  
 
Эта кнопка откатывает на предыдущую версию настроек и закрывает диалог.
 
Эта кнопка откатывает на предыдущую версию настроек и закрывает диалог.
 +
 +
----
 +
----
 +
 +
== Макросы IDE ==
 +
[[image:CompilerOptions-IDE Macros.png|top|Compiler Options - IDE Macros]]
 +
 +
 +
===Для [версий с] 0.9.29 по 1.0.x===
 +
Эта страница позволяет определить макросы и условия вашего проекта/пакета. В среде IDE уже есть много [предопределенных]  [[IDE_Macros_in_paths_and_filenames/ru|макросов]]. Вы можете добавить свои собственные макросы, которые действительны при загрузке проекта/пакета.
 +
Conditionals allow to set macro values depending on target platform and other macros. For example you can add a linker option when compiling for Mac OS X.
 +
 +
Use the left '''+''' button to add a new macro for the project/package. Select a macro and click on the middle '''+''' button to add a new possible value. The actual value of a macro is set in the conditionals below, or by the current project on the '''build modes''' page (IDE menu / Project / Project Options / Compiler options / Build Modes).
 +
To delete a value or a macro, select it and click on the '''-''' button.
 +
 +
The conditionals use a scripting language similar to pascal and are edited in the text editor at the bottom of the page. Many short cuts work like in the source editor, including word/identifier completion (default: Ctrl+Space).
 +
 +
For more details about build macros and conditionals see [[Macros and Conditionals]].
 +
 +
[[Image:Compileroptions buildmacros1.png|none]]
 +
 +
This page exists since version 0.9.29.
 +
 +
===For 1.1 and above===
 +
This page is only available for packages. It lets packages define their own IDE macros. The IDE already provides a lot of [[IDE_Macros_in_paths_and_filenames|macros]] itself.
 +
 +
Use the left '''+''' button to add a new macro for the project/package. Select a macro and click on the middle '''+''' button to add a new possible value. The actual value of a macro is set in the conditionals below, or by the current project on the '''build modes''' page (IDE menu / Project / Project Options / Compiler options / Build Modes).
 +
To delete a value or a macro, select it and click on the '''-''' button.
 +
 +
For more details about build macros and conditionals see [[Macros and Conditionals]].
 +
 +
== Other ==
 +
See [http://www.freepascal.org/docs.html Free Pascal - Online documentation]
 +
 +
You'll typically define some compiler options here. For example you can define in a build mode something like
 +
 +
<code>
 +
  -dRELEASE
 +
</code>
 +
 +
Then in the build mode, only the code surrounded by the {$IFDEF RELEASE} {$ENDIF} will be compiled. This can be used alternatively to the Macro system, particularly if you come from Delphi.
 +
 +
Spaces at start and end are removed. Line breaks are replaced by a space before passing to the compiler. A leading space is added automatically.
 +
 +
The IDE substitutes IDE macros in custom options and parses the options. Flags like -dRelease are passed to codetools, so the source editor knows them immediately.
 +
 +
{{Warning|Do not add the path options -Fu, -Fi, -Fl, -FU, -o. Use the fields on the page [[IDE_Window:_Compiler_Options#Paths|Paths]] instead. The IDE ignores the paths in the custom options. It does not update them, when you add or delete files or when you open the project on another host.}}
 +
 +
Clicking the '''All options...''' button allows you to set FPC options easily:
 +
[[File:options.png]]
  
  
 
[[Category:Russian (unfinished translation)]]
 
[[Category:Russian (unfinished translation)]]

Revision as of 17:57, 24 December 2018

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) русский (ru)

Пути (Paths)

  • Относительные пути дополняются путём от файла проекта или каталога пакета (где расположен файл .lpi/.lpk).
  • Эти пути добавляются в пути поиска (search paths).
  • Если пакет или проект использует другие пакеты, со своими путями поиска. То эти "унаследованные" пути можно найти на закладке #Унаследованные (Inherited).
  • Пользуясь системой пакетов Lazarus вам практически не придётся устанавливать пути поиска вручную.
  • Компилятор FreePascal имеет собственный файл настроек (по умолчанию /etc/fpc.cfg) который определяет набор путей поиска модулей. Например для нахождения модулей FPC из RTL или FCL вроде 'classes', 'sysutils'.
  • Пути поиска разделяются точкой с запятой ';'.
  • Начальные и конечные пробельные символы игнорируются и автоматически убираются IDE. IDE нормализует пути поиска и добавляет разделитель пути (windows: /, все остальные: \). Пути каталога автоматически конвертируются в формат подходящий текущей операционной системе при открытии файла проекта .lpi или .lpk.
  • Вы можете использовать макросы. Например $(TargetCPU). Подробнее смотрите IDE Macros in paths and filenames.
  • Если вы не хотите использовать унаследованные пути поиска от использованых пакетов, то вам нужно изменить свойства компиляции этих использованных пакетов.

Другие модули (Other Unit Files)

Это пути поиска для модулей паскаля (.ppu, .pp, .pas, .p) вашего проекта или пакета. Посмотрите заголовок окна чтобы узнать какого. Этот путь будет передан компилятору FreePascal, который добавит их к своим Unit Path.

  • Добавляя и убирая модули из проекта/пакета IDE спросит вас о необходимости изменить пути поиска.
  • Этот путь содержит каталоги вашего проекта (пакета) который содержит файлы .pas, .pp or .p.
  • ОСТОРОЖНО: Не добавляйте каталоги использованный пакетов в этот путь. Это повлечёт за собой то, что FPC скомпилирует файлы .ppu включенного пакета и поместит их в ваш каталог проекта. Вы столкнётесь с множественными версиями .ppu и получите странные 'Can not find unit' ошибки.

Например: Не добавляйте никакие FPC или LCL каталоги исходников в этот путь.

  • Если вы хотите использовать одни и те же модули между разными проектами, создайте пакет для них. Это просто.

Включаемые файлы (Include Files)

Это путь поиска для включаемый файлов (таких как файлы .inc, .lrs). Этот путь передаётся компилятору FreePascal Compiler, который добавляет их к своим путям поиска Включаемых файлов (Include Path), которые используются в директивах включения вроде {$I filename.inc} или {$INCLUDE filename.inc}.

Другие исходные коды (Other sources)

Это пути поиска для модулей исходного кода паскаль, которые используются только IDE, но не компилятором.

Например: У вас имеется каталог с исходниками и каталог с соответствующими файлами .ppu. Вы добавляете каталог с .ppu в пути 'Другие модули (Other Unit Files)' а каталог с .pas в 'Другие исходные коды (Other sources)'. Таким образом компилятор будет использовать файлы .ppu и не будет пытаться компилировать их каждый раз. В то же самое время, IDE найдёт файлы с исходниками и будет работать функция Найти объявление (Find Declaration).

Библиотеки (Libraries)

Это пути поиска для библиотек (файлов .dll или .so или .a).

Каталог вывода модулей (Unit output directory)

Это каталог в который компилятор будет выводить файлы компиляции вроде .ppu, .o, .rst файлов.

Примечание: Пакеты обычно наследуют их каталоги вывода через настройки использования 'usage'.

Дополнения к путям отладчика (Debugger path addition)

Эти каталоги добавляются в пути поиска отладчика IDE, когда он ищет исходники (модули и файлы включения).

Библиотека виджетов LCL (LCL widget type)

Это выбор используемого набора виджетов LCL. Обычно используется набор виджетов по умолчанию. Если вы хотите попробовать другой набор виджетов, просто выберите его.

  • Набор виджетов по умолчанию - это набор виджетов для текущего проекта.
  • Набор виджетов по умолчанию зависит от текущей операционной системы. Например: win32 для windows 2000.
  • Вы не должны устанавливать набор виджетов для пакетов, поскольку проект не сможет этого изменить. Устанавливайте его для пакетов только если этот пакет может использоваться лишь с одним конкретным набором виджетов LCL.

Обработка (Parsing)

Смотрите Free Pascal - Online documentation

Режим синтаксиса (Syntax mode)

Выберите режим по умолчанию. Если модуль не содержит директивы {$mode somemode}, выбранный режим будет использоваться по умолчанию.

Смотрите Free Pascal - Online documentation


Параметры синтаксиса (Syntax Options)

  • Операторы в стиле C (C Style Operators) (*=, +=, /= and -=)
  • Включить код Assert (Include Assertion Code)
  • Разрешить LABEL и GOTO (Allow LABEL and GOTO)
  • INLINE в стиле C++ (C++ Styled INLINE)
  • Макросы в стиле C (C Style Macros (global))
  • Конструктор должен быть init (деструктор должен быть done) (Constructor name must be init (destructor must be done))
  • Ключевое слово Static в объектах (Static Keyword in Objects)
  • Использовать строки Ansi (Use Ansi Strings)

Стиль ассемблера (Assembler style)

  • -Rdefault по умолчанию
  • -Ratt AT&T
  • -Rintel Intel

Код (Code)

Смотри Free Pascal - Online documentation

Связывание (Linking)

Смотри Free Pascal - Online documentation

Сообщения (Verbosity (Messages))

Смотри Free Pascal - Online documentation. Примечание: добавление большого количество сообщений сильно замедляет процесс компиляции даже если большинство сообщений будет спрятано в окне сообщений.

Эта страница была переименована в Verbosity, начиная с версии 0.9.27.

Сообщения (Messages)

(Появилась в версии 0.9.27) Эта страница позволяет контролировать какие сообщения компилятор будет показывать в Notes, Hints и Warnings. Необходимо, чтобы компилятор FP поддерживал переключатель -m (версия 2.2.2 или выше).

Также возможно указать язык текста сообщений (файл должен быть в кодировке Utf-8), чтобы видеть сообщения компилятора переведёнными без необходимости модифицировать файл конфигурации компилятора fpc.cfg.

Пример перевода файла сообщений можно найти ${LazarusDir}/fpc/${FPCTARGET}/msg, например C:\Lazarus\fpc\2.2.3\msg

Другие (Other)

Смотри Free Pascal - Online documentation

Унаследованные (Inherited)

Эта страница позволяет посмотреть все настройки компилятора унаследованные от использованных пакетов. Пакеты наследуют свойства через их свойства 'usage'.

Самый верхний узел отображает все унаследованные функции, то есть сумма всех используемых пакетов.

Узлы ниже показывают унаследованные параметры каждого пакета.

Компиляция (Compilation)

Создать Makefile (Create Makefile)

Включите эту опцию, если хотите, чтобы IDE создавала файл Makefile и Makefile.fpc перед каждой сборкой. В данный момент этот флаг используется только для пакетов, но не для проектов.

Выполнить перед компиляцией (Execute before)

Настройте здесь команду, которая будет выполнена перед запуском компилятора.

Вызов при (Call on):

  • компиляции (Compile) - выполняется при нормальной компиляции (F9).
  • сборке (Build) - выполняется, когда происходит полная сборка. Например это может быть скрипт, который чистит каталоги.
  • запуске (Run) - выполняется, когда выполняется быстрая компиляция. При запуске проекта, IDE проверяет нужно ли чего-нибудь компилировать. Если ничего компилировать не нужно, то IDE пропускает этап компиляции. Установите эту опцию, чтобы выполнять команду даже если этап компиляции был пропущен.

IDE может разбирать и фильтровать вывод этой команды и останавливаться при ошибках. Отметьте какие сообщения вы хотите видеть в IDE.

Компилятор (Compiler)

Здесь указывается компилятор используемый проектом или пакетом. По умолчанию это макрос $(CompPath), который заменяется версией компилятора из переменных окружения.

Выполнить после компиляции (Execute after)

Настройте здесь команду, которая будет выполнена после того, как закончится работа компилятора. Смотри выше 'Выполнить перед компиляцией (Execute before)' для дополнительной информации.

Кнопки (Buttons)

Тест (Test)

Эта кнопка запустит различные тесты и обнаружит основные ошибки настройки. Для fpc 2.2.0 сообщит о дублирующихся модулях. Предупреждения корректны, но вы можете игнорировать их, если не хотите использовать эти модули.

Показать параметры (Show Options)

Открывает диалог и показывает текущие настройки параметров командной строки.

Загрузка/Сохранение (Load/Save)

Открывает диалог для сохранение и/или загрузки текущих настроек компилятора из/в файла xml.

Ok

Эта кнопка применяет выбранные настройки и закрывает диалог.

Cancel

Эта кнопка откатывает на предыдущую версию настроек и закрывает диалог.



Макросы IDE

Compiler Options - IDE Macros


Для [версий с] 0.9.29 по 1.0.x

Эта страница позволяет определить макросы и условия вашего проекта/пакета. В среде IDE уже есть много [предопределенных] макросов. Вы можете добавить свои собственные макросы, которые действительны при загрузке проекта/пакета. Conditionals allow to set macro values depending on target platform and other macros. For example you can add a linker option when compiling for Mac OS X.

Use the left + button to add a new macro for the project/package. Select a macro and click on the middle + button to add a new possible value. The actual value of a macro is set in the conditionals below, or by the current project on the build modes page (IDE menu / Project / Project Options / Compiler options / Build Modes). To delete a value or a macro, select it and click on the - button.

The conditionals use a scripting language similar to pascal and are edited in the text editor at the bottom of the page. Many short cuts work like in the source editor, including word/identifier completion (default: Ctrl+Space).

For more details about build macros and conditionals see Macros and Conditionals.

Compileroptions buildmacros1.png

This page exists since version 0.9.29.

For 1.1 and above

This page is only available for packages. It lets packages define their own IDE macros. The IDE already provides a lot of macros itself.

Use the left + button to add a new macro for the project/package. Select a macro and click on the middle + button to add a new possible value. The actual value of a macro is set in the conditionals below, or by the current project on the build modes page (IDE menu / Project / Project Options / Compiler options / Build Modes). To delete a value or a macro, select it and click on the - button.

For more details about build macros and conditionals see Macros and Conditionals.

Other

See Free Pascal - Online documentation

You'll typically define some compiler options here. For example you can define in a build mode something like

 -dRELEASE

Then in the build mode, only the code surrounded by the {$IFDEF RELEASE} {$ENDIF} will be compiled. This can be used alternatively to the Macro system, particularly if you come from Delphi.

Spaces at start and end are removed. Line breaks are replaced by a space before passing to the compiler. A leading space is added automatically.

The IDE substitutes IDE macros in custom options and parses the options. Flags like -dRelease are passed to codetools, so the source editor knows them immediately.

Warning-icon.png

Предупреждение: Do not add the path options -Fu, -Fi, -Fl, -FU, -o. Use the fields on the page Paths instead. The IDE ignores the paths in the custom options. It does not update them, when you add or delete files or when you open the project on another host.

Clicking the All options... button allows you to set FPC options easily: options.png