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

From Free Pascal wiki
Jump to navigationJump to search
Line 13: Line 13:
 
* Si no quieres utilizar rutas de búsqueda heredadas de un paquete hay que cambiar las opciones de compilación de ese paquete.
 
* Si no quieres utilizar rutas de búsqueda heredadas de un paquete hay que cambiar las opciones de compilación de ese paquete.
  
=== Otros archivos de unidad ===
+
=== Otros archivos de unidad (-Fu) ===
  
This is the search path for the pascal units (.ppu, .pp, .pas, .p) of the project or package. See the title of the window to know which.
+
   Esta es la ruta de búsqueda de las unidades de pascal (.ppu, .pp, .pas, .p), del proyecto o paquete. Ver el título de la ventana para saber cual. Esta ruta se le da al compilador Free Pascal, que la añade a su ruta de unidades.
This path is given to the FreePascal Compiler, which adds it to its Unit Path.
 
  
* Adding and removing units to the project/package will automatically ask to adjust the unit path.
+
* La adición y eliminación de unidades en el proyecto o paquete automáticamente le pedirá que ajuste la ruta de unidades.
* This search path contains the directories of your project (or your package) that contain the .pas, .pp or .p files.
+
* Esta ruta de búsqueda contiene los directorios de tu proyecto (o el paquete) que contienen los archivos .pas, .pp o .p.
* BEWARE: Do not add directories of used lazarus packages to this path. Otherwise FPC will rebuild the .ppu files of the package and put them into your project directory. You will end up with multiple .ppu versions and you will get strange 'Can not find unit' errors.
+
* ''Atención'': No añada directorios de los paquetes Lazarus utilizados en esta ruta. De lo contrario FPC volverá a generar los archivos .ppu del paquete y los pondrá en el directorio del proyecto. Terminando con múltiples versiones de los .ppu y obteniendo extraños errores ''No se puede encontrar la unidad'. Por ejemplo: No añada ningún directorio de fuentes de FPC o de la LCL a esta ruta de búsqueda.
Por ejemplo: Do not add any FPC or LCL source directory to this search path.
+
* Si deseas compartir algunas unidades entre tus proyectos, crea un paquete para ellas. Es muy fácil.
* If you want to share some units between your projects, create a package for them. It's easy.
 
  
=== Include Files ===
+
=== Incluir Archivos (-Fi) ===
  
This is the search path for the include files (e.g. .inc, .lrs files).
+
   Esta es la ruta de búsqueda de los archivos de inclusión (archivos .inc, .lrs, por ejemplo). Esta ruta se pasa al compilador Free Pascal, que la añade a sus rutas de inclusión, y se utilizan por directivas como {$I filename.inc} o {$INCLUDE filename.inc}
This path is given to the FreePascal Compiler, which adds it to its Include Path, which is used by include directives like {$I filename.inc} or {$INCLUDE filename.inc}.
 
  
=== Other sources ===
+
=== Otras fuentes ===
  
This is the search path for pascal unit sources, that is only used by the IDE and not by the compiler. Normally you will leave this empty. It is only useful when you build the ppu files without Lazarus.
+
   Esta es la ruta de búsqueda de unidades de fuentes pascal, que sólo se utilizan por el IDE y no por el compilador. Normalmente, esto se deja en blanco. Sólo es útil cuando genera los archivos .ppu sin Lazarus.
  
Example:
+
   Ejemplo:
You have a directory with sources and a directory with the corresponding .ppu files. You add the .ppu directory to the 'Other Unit Files' path and the .pas directory to the 'Other sources' path. This way the compiler will use the .ppu files and not try to rebuild them every time. And the IDE will find the sources and Find Declaration works.
 
  
=== Libraries ===
+
   Tiene un directorio con los fuentes y un directorio con el archivo .ppu correspondiente. Agrega el directorio del .ppu. a la ruta de 'Otros archivos de unidad' y el directorio de .pas a la ruta ''Otras fuentes''. De esta manera el compilador utilizará los archivos .ppu Y no tratará de reconstruir constantemente. Y el IDE encuentra las fuentes y funcionará la opción ''Buscar Declaración''.
  
This is the search path for libraries (.dll or .so or .a files).
+
=== Librerías ===
  
=== Unit output directory ===
+
   Esta es la ruta de búsqueda de librerías (archivos .dll, .so o .a).
  
This is directory, where the compiler will put all output (compiler switch -FU), like .ppu, .o, .rst files. If using $R directive for the lfm files, it will also copy the lfm files there.
+
=== Directorio de salida de la unidad (-FU) ===
  
A popular usage example, is a output directory named ''units'', and then an extra sub-directory for the CPU and OS target. Por ejemplo:
+
   Este es el directorio donde el compilador pondrá todos los resultados (opción -FU del compilador), como los archivos .ppu, .o, .rst. Si se utiliza la directiva $R  para los archivos lfm, copia tambien aquí estos ficheros.
 +
 
 +
   Un ejemplo de uso popular, es un directorio de salida llamado ''units', y luego un subdirectorio adicional para la CPU y el Sistema Operativo de destino. Por ejemplo:
  
 
   units/$(TargetCPU)-$(TargetOS)
 
   units/$(TargetCPU)-$(TargetOS)
  
Notes:
+
   Notas:
 
+
*Si el directorio de salida está vacío, Lazarus '''no''' pasa la opción '''-FU''' al compilador. El compilador entonces hace uso de la opción '''-FE'''. Ver [[IDE_Window:_Project_Options#Target_file_name|Project target file]]
*If the unit output directory is empty, Lazarus will '''not''' pass the '''-FU''' switch to the compiler. The compiler will then use the '''-FE''' switch. See [[IDE_Window:_Project_Options#Target_file_name|Project target file]]
+
*Los paquetes normalmente heredan su directorio de salida a  otros paquetes de a través de las opciones de "uso". No es necesario agregar rutas de paquete manualmente a su proyecto
*Packages normally inherit their output directory to other packages via the 'usage' options. You do not need to add package paths manually to your project.
 
  
=== Debugger path addition ===
+
=== Adiciones a la ruta del depurador ===
  
These directories are added to the search path of the IDE debugger, when it searches for sources (units and include files).
+
   Estos directorios se agregan a la ruta de búsqueda del depurador del IDE, cuando se buscan fuentes (unidades y archivos de cabecera).
  
=== LCL widget type ===
+
=== Tipo de Widget LCL ===
  
This is the used LCL widget set. Normally the default widget set is used. If you want to try another or you are cross compiling, set here another widget set.
+
   Este es el tipo de artilugio gráfico utilizado. Normalmente se utiliza el predeterminado. Si quieres probar otro, o estas realizando compilación cruzada, establece aquí otro conjunto de artilugíos gráficos.
  
* The default widget set of a package is the widget set of the current project.
+
* Los artilugíos predeterminados de un paquete es el del proyecto actual.
* The default widget set of the current project depends on the current operating system. Por ejemplo: win32 for windows 2000.
+
* Los artilugíos predeterminados del proyecto actual depende del sistema operativo actual. Por ejemplo: win32 para windows 2000.
* You should not set the widget set for a package, because then the project can not override it. Only set it, if the package is part of a set of packages - one for each widget set.
+
* No se debe establecer el conjunto de artilugíos para un paquete, porque entonces el proyecto no puede sobrescribirlos. Sólo se ponen, si el paquete es parte de un conjunto de paquetes - uno para cada conjunto de artilugíos.
  
== Parsing ==
+
== Procesando ==
  
See [http://www.freepascal.org/docs.html Free Pascal - Online documentation]
+
   Ver [http://www.freepascal.org/docs.html Documentación de Free Pascal en línea]
  
=== Syntax mode ===
+
=== Modo de sintaxis (-M) ===
  
Choose the default mode. If a unit does not contain a {$mode somemode} directive, this is used as the default.
+
   Elige el modo predeterminado. Si una unidad no contiene una directiva {$mode unmodo}, se utiliza este como valor predeterminado.
  
See [http://www.freepascal.org/docs.html Free Pascal - Online documentation]
+
   Ver [http://www.freepascal.org/docs.html Documentación de Free Pascal en línea]
  
  
Line 96: Line 93:
 
== Code ==
 
== Code ==
  
See [http://www.freepascal.org/docs.html Free Pascal - Online documentation]
+
   Ver [http://www.freepascal.org/docs.html Documentación de Free Pascal en línea]
  
 
== Linking ==
 
== Linking ==
  
See [http://www.freepascal.org/docs.html Free Pascal - Online documentation]
+
   Ver [http://www.freepascal.org/docs.html Documentación de Free Pascal en línea]
  
 
== Verbosity (Messages) ==  
 
== Verbosity (Messages) ==  
Line 120: Line 117:
 
== Other ==
 
== Other ==
  
See [http://www.freepascal.org/docs.html Free Pascal - Online documentation]
+
   Ver [http://www.freepascal.org/docs.html Documentación de Free Pascal en línea]
  
 
== Inherited ==
 
== Inherited ==

Revision as of 21:41, 24 August 2010

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

La ventana de opciones del compilador

Rutas

  • Las rutas relativas se completan con la ruta del proyecto o paquete, el directorio donde están os archivos .lpi/.lpk).
  • Estas rutas se añaden a las rutas de búsqueda.
  • Si un paquete hace uso de otro paquete, heredará sus rutas de búsqueda. Puedes ver las rutas de búsqueda heredadas en la pestaña Heredado.
  • Usando el sistema de paquetes Lazarus, apenas necesitaras establecer rutas de búsqueda manualmente.
  • El compilador Free Pascal tiene un archivo de configuración de propio (/etc/fpc.cfg, es el predeterminado) que define un conjunto de rutas de búsqueda a los archivos .ppu de FPC. Por ejemplo para hallar las unidades de FPC de la RTL o del FCL como 'classes' o 'sysutils'.
  • Las rutas de búsqueda están separadas por punto y coma ';'.
  • Los espacios iniciales o finales son ignorados y eliminados automáticamente por el IDE. El IDE normaliza las rutas y añade el delimitador de ruta (windows: /, otros: \). Las rutas son automáticamente convertidas para el sistema operativo actual al abrir un archivo .lpi o .lpk.
  • Puedes utilizar macros. Por ejemplo $(TargetCPU). Ver Macros del IDE en rutas y nombres de archivo.
  • Si no quieres utilizar rutas de búsqueda heredadas de un paquete hay que cambiar las opciones de compilación de ese paquete.

Otros archivos de unidad (-Fu)

   Esta es la ruta de búsqueda de las unidades de pascal (.ppu, .pp, .pas, .p), del proyecto o paquete. Ver el título de la ventana para saber cual. Esta ruta se le da al compilador Free Pascal, que la añade a su ruta de unidades.

  • La adición y eliminación de unidades en el proyecto o paquete automáticamente le pedirá que ajuste la ruta de unidades.
  • Esta ruta de búsqueda contiene los directorios de tu proyecto (o el paquete) que contienen los archivos .pas, .pp o .p.
  • Atención: No añada directorios de los paquetes Lazarus utilizados en esta ruta. De lo contrario FPC volverá a generar los archivos .ppu del paquete y los pondrá en el directorio del proyecto. Terminando con múltiples versiones de los .ppu y obteniendo extraños errores No se puede encontrar la unidad'. Por ejemplo: No añada ningún directorio de fuentes de FPC o de la LCL a esta ruta de búsqueda.
  • Si deseas compartir algunas unidades entre tus proyectos, crea un paquete para ellas. Es muy fácil.

Incluir Archivos (-Fi)

   Esta es la ruta de búsqueda de los archivos de inclusión (archivos .inc, .lrs, por ejemplo). Esta ruta se pasa al compilador Free Pascal, que la añade a sus rutas de inclusión, y se utilizan por directivas como {$I filename.inc} o {$INCLUDE filename.inc}

Otras fuentes

   Esta es la ruta de búsqueda de unidades de fuentes pascal, que sólo se utilizan por el IDE y no por el compilador. Normalmente, esto se deja en blanco. Sólo es útil cuando genera los archivos .ppu sin Lazarus.

   Ejemplo:

   Tiene un directorio con los fuentes y un directorio con el archivo .ppu correspondiente. Agrega el directorio del .ppu. a la ruta de 'Otros archivos de unidad' y el directorio de .pas a la ruta Otras fuentes. De esta manera el compilador utilizará los archivos .ppu Y no tratará de reconstruir constantemente. Y el IDE encuentra las fuentes y funcionará la opción Buscar Declaración.

Librerías

   Esta es la ruta de búsqueda de librerías (archivos .dll, .so o .a).

Directorio de salida de la unidad (-FU)

   Este es el directorio donde el compilador pondrá todos los resultados (opción -FU del compilador), como los archivos .ppu, .o, .rst. Si se utiliza la directiva $R para los archivos lfm, copia tambien aquí estos ficheros.

   Un ejemplo de uso popular, es un directorio de salida llamado units', y luego un subdirectorio adicional para la CPU y el Sistema Operativo de destino. Por ejemplo:

 units/$(TargetCPU)-$(TargetOS)

   Notas:

  • Si el directorio de salida está vacío, Lazarus no pasa la opción -FU al compilador. El compilador entonces hace uso de la opción -FE. Ver Project target file
  • Los paquetes normalmente heredan su directorio de salida a otros paquetes de a través de las opciones de "uso". No es necesario agregar rutas de paquete manualmente a su proyecto

Adiciones a la ruta del depurador

   Estos directorios se agregan a la ruta de búsqueda del depurador del IDE, cuando se buscan fuentes (unidades y archivos de cabecera).

Tipo de Widget LCL

   Este es el tipo de artilugio gráfico utilizado. Normalmente se utiliza el predeterminado. Si quieres probar otro, o estas realizando compilación cruzada, establece aquí otro conjunto de artilugíos gráficos.

  • Los artilugíos predeterminados de un paquete es el del proyecto actual.
  • Los artilugíos predeterminados del proyecto actual depende del sistema operativo actual. Por ejemplo: win32 para windows 2000.
  • No se debe establecer el conjunto de artilugíos para un paquete, porque entonces el proyecto no puede sobrescribirlos. Sólo se ponen, si el paquete es parte de un conjunto de paquetes - uno para cada conjunto de artilugíos.

Procesando

   Ver Documentación de Free Pascal en línea

Modo de sintaxis (-M)

   Elige el modo predeterminado. Si una unidad no contiene una directiva {$mode unmodo}, se utiliza este como valor predeterminado.

   Ver Documentación de Free Pascal en línea


Syntax Options

  • C Style Operators (*=, +=, /= and -=)
  • Include Assertion Code
  • Allow LABEL and GOTO
  • C++ Styled INLINE
  • C Style Macros (global)
  • Constructor name must be init (destructor must be done)
  • Static Keyword in Objects
  • Use Ansi Strings

Assembler style

  • -R<x> assembler reading style:
  • -Rdefault use default assembler
  • -Ratt read AT&T style assembler
  • -Rintel read Intel style assembler

Code

   Ver Documentación de Free Pascal en línea

Linking

   Ver Documentación de Free Pascal en línea

Verbosity (Messages)

See Free Pascal - Online documentation. Note that adding a lot of verbosity slows down the parsing of the compiler output much, even if most of the messages will be hidden in the messages view.

The page has been renamed to Verbosity, starting from 0.9.27 version.

Messages

(Introduced in Lazarus 0.9.27 version) The page allows to control what compiler output Notes, Hints and Warnings are shown. The feature requires FP compiler to support -m switch (version 2.2.2 or higher).

It's also possible to specify message Language file (file should be Utf-8 encoded), to see compiler messages translated, without need to modify fpc.cfg file.

Samples of the messages translation file can be found at ${LazarusDir}/fpc/${FPCTARGET}/msg, i.e. C:\Lazarus\fpc\2.2.3\msg

Other

   Ver Documentación de Free Pascal en línea

Inherited

This page shows all the compiler options inherited from packages. Packages inherit options via their 'usage' options.

The topmost node shows all inherited options, that is the sum of all used packages.

The nodes below show the inherited options of each use package.

Compilation

Create Makefile

Enable this, if the IDE should create a Makefile and a Makefile.fpc before each build. This is currently only supported for packages, not for projects.

Execute before

Setup here a command to execute before running the compiler.

Call on:

  • Compile - execute when normally compiling (F9).
  • Build - execute when rebuilding all. This could Por ejemplo a script to clean up.
  • Run - execute when quick compiling. When running a project, the IDE checks if rebuild is needed. If no rebuild is needed the IDE skips the compile step. Set this option to always execute the command, even if the compile step is skipped.

The IDE can parse and filter the output of the command and stop on errors. Check the boxes for which messages the IDE should watch.

Compiler

This is compiler path used by the project or package. Default is the macro $(CompPath), which is replaced with the compiler filename in the environment options.

Execute after

Setup here a command to execute after running the compiler. See above 'Execute before' for details.

Use these settings as default for new projects

Check this checkbox and click Ok. The settings will be saved to ~/.lazarus/compileroptions.xml (or whatever you have as primary config path). When you create a new project this file will be loaded to initialize the compiler options. This feature exists since 0.9.29.

Botones

Probar

Esto ejecutará diversas pruebas y detecta errores comunes de configuración. Para fpc 2.2.0 se advierte acerca de algunas unidades duplicadas. Las advertencias son correctas, pero se pueden ignorar, si no se utilizan esas unidades.

Mostrar Opciones

Abre un diálogo y se muestran los parámetros de línea de comandos actuales.

Cargar/Guardar

Abre un diálogo para guardar y / o cargar las opciones actuales del compilador de / a un archivo xmle.

Aceptar

Este aplicará los cambios y saldrá del diálogo.

Cancelar

Este cancelará los cambios y saldrá del diálogo.