Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2016-07

Generar exe compilado en su propio directorio

6 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

francisco prieto

Grupo les explico lo que estoy haciendo a mano y que quisiera si es posible que el Lazarus haga por mi.

Para poder generar un instalador adecuado de Windows (mi pc es de 64 bits y la version de Lazarus es 1.6) genero 2 exe

1) En Plataforma Objetivo pongo (Predeterminada) en SO y Familia y asi se me genera un exe de 64 bits.
2) En Plataforma Objetivo pongo Win32 en SO e i386 en Familia y asi se me genera un exe de 32 bits.

Pero ambos exes se generan en donde esta ubicado mi proyecto, pisando el exe anterior generado..

Hay alguna forma de poner en nombre del archivo final (-o) la ruta a cada una de las plataformas elegidas?

Saludos y Gracias,

Pancho
Córdoba
Argentina
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160726/34df5283/attachment.html>

Reply by email

Jesus Reyes A.
to francisco prieto

En Mon, 25 Jul 2016 19:09:10 -0500, francisco prieto <fajprieto en gmail.com>

Show quoted text 22 lines
Grupo les explico lo que estoy haciendo a mano y que quisiera si es posible que el Lazarus haga por >mi. Para poder generar un instalador adecuado de Windows (mi pc es de 64 bits y la version de Lazarus es >1.6) genero 2 exe 1) En Plataforma Objetivo pongo (Predeterminada) en SO y Familia y asi se me genera un exe de 64 >bits. 2) En Plataforma Objetivo pongo Win32 en SO e i386 en Familia y asi se me genera un exe de 32 bits. Pero ambos exes se generan en donde esta ubicado mi proyecto, pisando el exe anterior generado.. Hay alguna forma de poner en nombre del archivo final (-o) la ruta a cada una de las plataformas >elegidas? Saludos y Gracias, Pancho Córdoba Argentina

Si.

Haciendo uso de los modos de construcción. Ve
http://wiki.lazarus.freepascal.org/IDE_Window:_Compiler_Options#Build_modes la versión en Español de esa página al parecer se ha quedado desactualizada.

Esencialmente, de tu configuración actual haces 2 "modos", luego seleccionado uno de ellos cambias los parametros de cpu objetivo y el nombre del ejecutable, seleccionas el otro modo y haces lo mismo par al otro cpu y nombre.

Saludos.

Jesus Reyes A.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160725/91990d28/attachment-0001.html>

Reply by email

Rafael Bidegain
to francisco prieto: Grupo les explico lo que estoy haciendo a mano y que quisiera si es posible que el…

Hola Francisco.

Perdón por responder con una pregunta.

probaste poniendo en rutas y $(TargetOS)/nombre.exe ?

francisco prieto wrote 29 lines
Grupo les explico lo que estoy haciendo a mano y que quisiera si es posible que el Lazarus haga por mi. Para poder generar un instalador adecuado de Windows (mi pc es de 64 bits y la version de Lazarus es 1.6) genero 2 exe 1) En Plataforma Objetivo pongo (Predeterminada) en SO y Familia y asi se me genera un exe de 64 bits. 2) En Plataforma Objetivo pongo Win32 en SO e i386 en Familia y asi se me genera un exe de 32 bits. Pero ambos exes se generan en donde esta ubicado mi proyecto, pisando el exe anterior generado.. Hay alguna forma de poner en nombre del archivo final (-o) la ruta a cada una de las plataformas elegidas? Saludos y Gracias, Pancho Córdoba Argentina _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es
Rafael Bidegain Ya que los cuerdos no hablan, hablará el loco. (The Fool, Padraic Pearse) # yo quiero educación libre. ¡YA! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160725/2e548c10/attachment.html>

Reply by email

Jesus Reyes A.
to Rafael Bidegain

Efectivamente esta es una solución mucho mas rápida y también debería funcionar. Si acaso, la solución que usa modos de construcción permite seleccionar los nombres del ejecutable de manera mas flexible.

Lo bueno es que hay opciones :)

Jesus Reyes A.

En Mon, 25 Jul 2016 20:56:12 -0500, Rafael Bidegain <r.bidegain en gmail.com>

Show quoted text 5 lines
Hola Francisco. Perdón por responder con una pregunta. probaste poniendo en rutas y $(TargetOS)/nombre.exe ?

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160725/d17494b1/attachment.html>

Reply by email

francisco prieto
to Jesus Reyes A.

Chicos (cariñosamente hablando :) ),

Lo que puedo ver es que la ayuda esta bastante desactualizada, es decir las pantallas que muestra no se corresponde con la versión 1.6, pero creo que una combinación de ambas ideas puede ser muy útil en este caso... Es decir si solo se trata de hacer ejecutables en Windows, debería alcanzar con la idea de Rafael, pero si debo hacer ejecutables para Linux para cada arquitectura, me parece mas prolijo implementar por cada SO la idea de Jesús.
Ya me arme un modo de construcción Windows con el nombre de ejecutable $(TargetOS)/nombre.exe
Y la solución de ambos funciono, en la ventana de mensajes al compilar se puede leer claramente:
Compilar proyecto, Modo: Windows, OS: win32, CPU: i386, Objetivo: win32\10900.exe: Éxito, Sugerencias: 2
o bien
Compilar proyecto, Modo: Windows, Objetivo: win64\10900.exe: Éxito

Es extraño que en este ultimo modo no me muestre las sugerencias siendo el mismo código... pero bueno esa es harina de otro costal.

Muchísimas gracias,

Pancho
Córdoba
Argentina

Jesus Reyes A. wrote 23 lines
Efectivamente esta es una solución mucho mas rápida y también debería funcionar. Si acaso, la solución que usa modos de construcción permite seleccionar los nombres del ejecutable de manera mas flexible. Lo bueno es que hay opciones :) Jesus Reyes A. En Mon, 25 Jul 2016 20:56:12 -0500, Rafael Bidegain <r.bidegain en gmail.com> escribió: Hola Francisco. Perdón por responder con una pregunta. probaste poniendo en rutas y $(TargetOS)/nombre.exe ? _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160726/da269945/attachment.html>

Reply by email

francisco prieto
to francisco prieto

Les dejo un comentario al respecto que me paso el dia de hoy, luego de implementar la solución antes mencionada.

Cuando hago referencia a rutas de archivo antes hacía lo siguiente:

  lcDirRep:=AppendPathDelim(ExtractFilePath(ParamStr(0)))+'rep\';

La primer parte extrae la ubicación de mi archivo exe y a eso le agrego el directorio donde están en este caso mis reportes.

Como por default el exe se genera en el directorio raíz del proyecto. Las carpetas a las cuales hago referencia están ubicadas siempre en la raíz, tanto en modo depuración como en modo ejecución. Pero con el cambio implementado esta mañana el exe ya no esta mas en el directorio raíz del proyecto y por ende la ubicación de las carpetas es errónea. Para que esto no ocurra tuve que implementar una ruta raíz de depuración.

En mi caso tengo una unidad global y ahí definí una constante con la ruta mencionada, entonces para no tener inconvenientes en modo depuración tuve que hacer lo siguiente:

  lcDirRep:=AppendPathDelim(ExtractFilePath(ParamStr(0)))+'rep\';
  IF LEFTSTR(lcDirRep,length(globales.gcPathDebug))=globales.gcPathDebug
then
    lcDirRep:=globales.gcPathDebug+'\Instalacion\Distribuir\rep\';

Quizás, haya una forma mas sencilla de hacerlo. Intente poner una ruta en Adiciones a la ruta del depurador, pero no me funciono.

Por el momento esta solución funciona, pero quizás ustedes tengan una solución mejor.

Saludos,

Pancho
Córdoba
Argentina

francisco prieto wrote 56 lines
Chicos (cariñosamente hablando :) ), Lo que puedo ver es que la ayuda esta bastante desactualizada, es decir las pantallas que muestra no se corresponde con la versión 1.6, pero creo que una combinación de ambas ideas puede ser muy útil en este caso... Es decir si solo se trata de hacer ejecutables en Windows, debería alcanzar con la idea de Rafael, pero si debo hacer ejecutables para Linux para cada arquitectura, me parece mas prolijo implementar por cada SO la idea de Jesús. Ya me arme un modo de construcción Windows con el nombre de ejecutable $(TargetOS)/nombre.exe Y la solución de ambos funciono, en la ventana de mensajes al compilar se puede leer claramente: Compilar proyecto, Modo: Windows, OS: win32, CPU: i386, Objetivo: win32\10900.exe: Éxito, Sugerencias: 2 o bien Compilar proyecto, Modo: Windows, Objetivo: win64\10900.exe: Éxito Es extraño que en este ultimo modo no me muestre las sugerencias siendo el mismo código... pero bueno esa es harina de otro costal. Muchísimas gracias, Pancho Córdoba Argentina El lun., 25 jul. 2016 a las 23:11, Jesus Reyes A. (<jesusrmx en gmail.com>) escribió: > Efectivamente esta es una solución mucho mas rápida y también debería > funcionar. Si acaso, la solución que usa modos de construcción permite > seleccionar los nombres del ejecutable de manera mas flexible. > > Lo bueno es que hay opciones :) > > Jesus Reyes A. > > > En Mon, 25 Jul 2016 20:56:12 -0500, Rafael Bidegain <r.bidegain en gmail.com> > escribió: > > Hola Francisco. > > Perdón por responder con una pregunta. > > probaste poniendo en rutas y $(TargetOS)/nombre.exe ? > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus-ide.org > http://lists.lazarus-ide.org/listinfo/lazarus-es >

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160726/627e6c16/attachment.html>

Reply by email