• Publicidad

Crear ejecutable de scripts en Perl para Windows

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-11-07 15:40 @694

¡¡¡¡Ya está!!!! Se me ha ocurrido poner, leyendo la documentación de Class::Load, use Class::Load::PP y con esto ha dejado de darme errores. Gracias por todo, explorer.
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Publicidad

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-11-07 17:46 @782

Vaya. Yo que pensaba que ya iba a funcionar y resulta que solo funciona en mi PC.

Lo he ejecutado en uno que tiene ActivePerl instalado solo y me da error de DBI.dll. Lo ejecuto en uno que tiene Camelbox y me da error de Win32::GUI::DIBitmap.

¿No debería ya estar compilado y no necesitar nada para poder ejecutarse en otros PC?
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-11-07 18:24 @808

Es que, es cierto: si piensas distribuir tu programa, siempre tienes que hacer una prueba sobre un ordenador que esté limpio (sin nada de Perl instalado).

Con esas pruebas tienes la confirmación de que en el empaquetado faltan bibliotecas y módulos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-11-08 05:49 @284

Buff. Yo que me había hecho ilusiones de que lo había terminado y resulta que solo me funciona en mi PC :?. He probado en un PC limpio de Perl y me dice "Can´t locate Win32::GUI::DIBitmap.pm in @INC. @INC contains: C:/Perl/site/lib/ CODE(0xf4f184)..."

Y yo he añadido ese módulo poniendo que lo busque en esa dirección con lo cual el modulo debería estar metido, ¿no? Ya ahora mismo la verdad no sé por dónde tirar puesto que si en mi PC no me da errores... ¿Alguna idea?
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-11-08 12:07 @546

Pero una cosa es decir, dentro del programa, que busque un módulo en una ruta determinada, y otra bien distinta es pedirle a perl2exe que incluya de forma obligatoria un módulo, en el empaquetado del programa.

Lo digo, porque, seguramente, el desempaquetado del programa se haga en un directorio temporal (el CODE... que aparece en el mensaje de error).

Si solo has dicho que el módulo debe buscarse en C:/Perl/site/lib/, debes asegurarte que el ejecutable sí va a crear esa ruta y, además, va a meter ese módulo dentro de esa ruta.

El mensaje de error dice que el programa no encuentra el módulo en ningún sitio.

Entonces... yo lo que haría sería poner alguna instrucción de include del perl2exe para que incluya de forma obligatorio a Win32::GUI::DIBitmap.pm dentro del empaquetado.

Una vez empaquetado, lo ejecuto y miro a ver dónde lo desempaqueta. Si consigo encontrarlo, miro a ver si está ese módulo desempaquetado o no.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-11-08 12:53 @578

Pero lo he hecho con PAR. Lo que pasa que una vez credo el .exe tengo que hacer que se pueda instalar en el PC.

Con lo cual lo que se me ha ocurrido que podría funcionar es, utilizando el installshield, copiar las carpetas de Camelbox y de ActivePerl que tengo instaladas en mi PC al programa e incluirle al script las rutas: "use lib 'camebox/site/lib/'; y use lib 'Perl/site/lib/; y use lib 'camelbox/lib/;" pero lo he probado y una vez instalado me dice, en otro PC (en el mio sí funciona), que no encuentra la LIBMYSQL.dll, y la verdad, sí que está incluida en el Camelbox. ¿Cómo podría hacer lo mismo que dices tu pero con PAR?
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-11-08 17:25 @768

Ya no me acuerdo qué reglas deben seguir las bibliotecas .DLL de Windows. No sé si valdría con que las pusieras en la misma ruta que está el ejecutable o el módulo que hace uso de él.

Buscando con Google, me sale esto, con lo que, con la opción '-l' del pp se puede incluir una biblioteca, de forma directa.

Está también en la FAQ de Perl Archiving Toolkit.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear ejecutable de scripts en Perl para Windows

Notapor jacks » 2011-11-09 17:40 @777

Hola explorer. Ya he conseguido introducir las librerías que necesitaba el programa. He probado y me ha funcionado el incluir las librerías pero me da este error con Class::MethodMaker y pues no sé qué hacer porque no sé qué librería hace falta. He incluido MethodMaker.dll, he incluido el módulo Class::MethodMaker y nada, sigue dando este error, que no especifica que librería es:
Adjuntos
error.JPG
error.JPG (36.46 KiB) Visto 1187 veces
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Re: Crear ejecutable de scripts en Perl para Windows

Notapor explorer » 2011-11-10 16:40 @736

Según veo aquí, podría ser que se trata de un falta de coordinación entre las versiones de la dll con la versión del intérprete perl.

Eso quiere decir, que la biblioteca es para una determinada versión de perl, pero quien está intentando manejarla, es otro perl, de otra versión distinta.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados