PDA

Ver la Versión Completa : generar ejecutable con kylix enterprise


mamsantos
11-04-2005, 18:30:19
Hola a todos.

Soy nuevo en Kylix. Tengo instalada la versión 3 Enterprise y he estado enredando con ella, pero no se como generar un ejecutable para la aplicación que creo. Es decir, que quiero generar un fichero para poder ejecutar la aplicación que creo, fuera del IDE de Kylix, pero no se como hacerlo.

Si alguien fuera tan amable de decirme como hacerlo, estaría muy agradedido.
Gracias y un saludo.

mg1821
20-04-2005, 03:21:57
hace ms de 2 años que no uso kylix (recien me vuelvo a enchufar). si recuerdo bien el programa esta buscando las librerias libqt y otros trapos mas en el directorio de linux que creo era el "etc" pero como estan en tu directorio kylix ni modo que sepa que estan ahi, asi que debes hacer una de dos:
1. copias dichos archivos o creas un enlace a ellos en el etc (cerciorate que sea ese o espera a que refresca mas la memoria)
2. creas un script que direccione el libpath a la ubicacion de dichos archivos y que luego llame al programa.
finish...

por si aca el problema es el mismo en windows solo que los programas como delphi o builder guardan esas librerias en el system de windows, osea la misma jarana solo que es mas divertido porque tienes que investigar para llegar a esa conclusion........a mi me gusto. :confused:

mamsantos
20-04-2005, 12:03:58
Gracias por la respuesta mg1821, pero me temo que mi duda es mucho más básica.
Verás, cuando desarrollo una aplicación, la compilo y ejecuto dentro del mismo IDE de Kylix, pero lo que yo quiero hacer es generar un "fichero ejecutable" que me permita correr la aplicación fuera del IDE de Kylix, e incluso en otra máquina que no tenga instalado Kylix.
Es decir, desde algún menú del IDE de Kylix o desde un terminal, linkar todos los ficheros que componen el proyecto de la aplicación desarrollada y las librerías que usa, para poder llevármelos a otra máquina que no tenga ni siquiera instalado el Kylix y poder ejecutarlo.

jachguate
20-04-2005, 15:40:09
No tenes que hacer otra cosa que compilar el proyecto. Esto te dejará un ejecutable en la misma carpeta de tu dpr y con el mismo nombre de este (a menos que hayas pedido explicitamente otra carpeta en Project/Options/Directories-Conditionals/output directory).

Cuando ejecutas un programa de kylix/delphi dentro del IDE este crea y graba el ejecutable, y manda que este se ejecute... jamás se interpreta.

Hasta luego.

;)

RONPABLO
21-04-2005, 06:57:12
Bueno esto lo hice en Mandrake 9.x, 10 y Red Hat 8 y 9..



Como correr una aplicación de kylix.



Para correr una aplicación de Kylix en un PC se necesita enlazar algunas librerías que se encuentran en la carpeta bin del directorio de instalación de Kylix. Estas librerías ocupan alrededor de 20MB y todas las aplicaciones hechas en Kylix la requieren, desde el famoso “Hola Mundo”, hasta una aplicación de mayor complejidad. Para solucionar este problema hay dos opciones, las cuales son:

-Instalar en el equipo la versión Open Edicion de Kylix con su correspondiente parche (patch). Esta es la opción más corta y fácil de efectuar pero requiere la utilización de por lo menos 100MB en espacio del HD.

-Copiar, las librerías de Kylix requeridas para que pueda correr y efectuar la siguiente configuración:

o Primero desde una consola debe loguearse como súper usuario de la siguiente forma



su

password



o A continuación se debe crear la carpeta ‘/usr/lib/kylix3’ de la siguiente forma



mkdir /usr/lib/kylix3



o Luego se debe copiar las siguientes librerías en la carpeta creada anteriormente. libborqt-6.9-qt2.3.so, libqt.so.2.3.0 y libqtintf-6.9.0-qt2.3.so. Estas librerías se pueden encontrar en el directorio ‘bin’ de la instalación.



cd /directorio/donde/esten/las/librerias/



cp libborqt-6.9.0-qt2.3.so / usr/lib/kylix3

cp libqt.so.2.3.0 / usr/lib/kylix3

cp libqtintf-6.9.0-qt2.3.so / usr/lib/kylix3



Nota.

/directorio/donde/esten/las/librerias/ esta ruta se refiere al directorio de instalación de Kylix3 en el equipo donde compilo y es recomendable copiar estas librerías en el CD donde este el instalador de la aplicación creada, esto sólo hay que realizarlo una vez.



oSe debe crear los enlaces simbólicos para estas librerías ya que la aplicación puede preguntar por estas con otros nombres.



ln –s libborqt-6.9.0-qt2.3.so libborqt-6.9-qt2.3.so

ln –s libqt.so.2.3.0 libqt.so.2

ln –s libqtintf-6.9.0-qt2.3.so libqtintf-6.9-qt2.3.so



oDespués de que se realice los anteriores comandos se debe agregar la siguiente ruta al final del archivo ld.so.conf el cual se encuentra en el directorio /etc/. “/usr/lib/kylix3” posteriormente se deben ejecutar uno de los dos comandos siguientes.



./sbin/ldconfig

ldconfig



oTambién se debe agradar al final en el archivo oculto .bash_profile que se encuentra en el directorio ‘HOME’ del usuario que instalo Kylix la siguiente línea “export LD_LIBRARY_PATH=/usr/lib/kylix3”. Así la próxima vez que se reinicie el computador se pueda ejecutar cualquier aplicación hecha en Kylix, o si se quiere ejecutar la aplicación sin reiniciar simplemente se debe dar el siguiente comando como el usuario que instalo el kylix (no el Súper usuario -root).



export LD_LIBRARY_PATH=/usr/lib/kylix3



Finalmente se pueden ejecutar las aplicaciones normales de Kylix.



Ahora después de esto puede haber mas errores (Algunas .so que no esten bien relacionadas o que no se encuentren en el sistema, ejemplo para trabajar con dbexpress necesita agregar midasXXX_XXX.###.XX.so) pero esto es lo básico al principio, para identificar esos errores es recomendable ejecutar las aplicaciones desde la consola de comandos con ./directorio/donde/esta/el/Programa para así ver que librerias faltan por enlazar.
Lastimosamente las .so (algo así como las Dll) que Kylix requiere casi nunca están en las distribuciones de linux por lo tanto es necesario buscarlas en el directorio Kylix3/bin de donde compilamos nuestra aplicación y migrarlas a la maquina que la requiera (la misma maquina donde se compilo requiere esto) para luego relacionarlas nuevamente relacionarlas, en otras ocasiones estas si se encuentran pero Kylix la busca con un nombre y por motivos de versión están con otro. Ej. si miran en el directorio /usr/lib verán la librería libsmpeg.##_#.so pero en algunas librerias como JEDI_SDL busca por libsmpeg.so por lo tanto hay que crear un link con el comando ln

mg1821
22-04-2005, 06:01:13
yo tambien creo que el problema era ese.
otra es la de cambiar el directorio donde se define la libpath en el usuario luego reiniciar (se parece al windows, je)

mamsantos
26-04-2005, 14:27:57
Hola y gracias por la ayuda, pero aún así sigo con problemas.

Con respecto al texto de "Como correr una aplicación de Kylix", tengo algunas dudas:

1. Lo voy haciendo todo tal cual hasta que llego a lo de crear los enlaces simbólicos, que no se dónde crearlos (me imagino que en el directorio donde Kylix me ha generado el ejecutable de la aplicación que estoy desarrollando).

2. Después, cuando tengo que modificar el fichero .bash_profile (que se supone que está en el directorio HOME del usuario que ha instalado Kylix, en mi caso ROOT), pues no lo encuentro por ninguna parte, así que yo he modificado el fichero /root/.profile.

3. Por último y supongo que debido a que lo que he hecho está mál, pues al intentar correr el ejecutable que kylix 3 enterprise me ha generado, me arroja el siguiente error:
gnuLinEx:~/Pruebas Kylix# ./Project1
./Project1: relocation error: ./Project1: undefined symbol: initPAnsiStrings
gnuLinEx:~/Pruebas Kylix#
Sobre esto último (initPAnsiStrings), he leído en otros sitios sobre como solucionarlo (añadiendo al fichero /etc/ld.so.conf una línea con la ruta del directorio bin de kylix - en mi caso /usr/local/kylix3/bin - y ejecutando después el conmando ldconfig -v). Lo he hecho pero no me soluciona nada.

En fin, siento ser tan plasta, pero si me podéis echar una mano, estaré muy agradecido.

RONPABLO
27-04-2005, 07:14:34
Con respecto a crear enlaces pues hay que tener en cuenta si Kylix esta o no instalado, entonces si esta instalado dentro del directorio bin de donde esta Kylix ya se encuentran esos archivos y ya están enlazados, ahora si en la maquina no se encuentra Kylix entonces hay que copiar de una que si tenga estos archivos y luego enlazarlos. en donde no importa puede ser cualquier directorio, yo use por ejemplo /usr/lib/kylix3 (debo estar como su) para copiarlos y luego en este mismo directorio creo los enlaces. después hay que editar el archivo /etc/ld.so.conf y agregar la ruta donde están los archivos y sus enlaces al final, yo por ejemplo puse al final /usr/lib/kylix3 esto no hay que hacerlo cada vez que se cree un binario en Kylix, con una sola vez funciona para otros, después de editar y guardar el archivo /etc/ld.so.conf hay que correr la siguiente instrucción ldconfig para que así quede registrado el directorio /usr/lib/kylix3 (El cual es el que yo uso)

2. si funciona bien la parte anterior entonces prueba con export LD_LIBRARY_PATH=/usr/lib/kylix3 (sin editar el archivo profile) aquí ya debe de correr bien la aplicación.

Espero que esto sea suficiente.