Página 1 de 1

Instalar módulo GD en Windows

NotaPublicado: 2006-06-23 11:37 @525
por monoswim
Porque no lo puedo instalar en windows, no lo encuentra el PPM...

:( :( :(

Saludos

NotaPublicado: 2006-06-23 11:47 @532
por explorer
Solución rápida: usa linux.

Otra solución: pon una librería más antigua. En http://cpantesters.perl.org/show/GD.html#GD-2.34 verás las que funcionan en Windows.

NotaPublicado: 2006-06-23 12:58 @582
por monoswim
que joda...Uso linux pero justo estaba en windows, tendré que rebootear la PC

Gracias Mr Ferrero

NotaPublicado: 2006-06-23 14:50 @659
por kidd
Hola:

Si puedes instalar el GD en Windows.

Para Perl 5.8
Código: Seleccionar todo
    ppm install http://theoryx5.uwinnipeg.ca/ppms/GD.ppd



Para Perl 5.6
Código: Seleccionar todo
    ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/GD.ppd




Saludos

NotaPublicado: 2006-06-25 18:41 @820
por monoswim
Perfecto, lo probaré entonces, en verdad no es para usarlo, es para que al checkear la sintaxis de un script no me diga que no entuentra el GD el @...

Saludos

NotaPublicado: 2006-06-26 05:35 @274
por explorer
Código: Seleccionar todo
BEGIN {
    unless ( $^O eq 'MSWin32' ) {
        use GD;
    }
}

NotaPublicado: 2006-06-26 09:59 @457
por monoswim
Explorer, tendría que hacer eso en cada línea que luego usa el módulo verdad ? demasiado trabajo...jeje

Kidd y el Image::GD::Thumbnail; existe también para win ?

Saludos

NotaPublicado: 2006-06-26 12:21 @556
por explorer
Vamos a ver... Tú estás escribiendo un programa Perl en Windows. Ese programa hace referencia al módulo GD, que no está instalado. Y de momento, lo único que quieres es comprobar la sintaxis del programa, para ver si está al menos bien escrito.

Sabemos que para comprobar la sintaxis sólo es necesario ejecutar esto:
Código: Seleccionar todo
perl -c programa.pl
Si está bien el programa, entonces Perl devolverá
programa.pl syntax Ok


Bueno, el problema viene porque no tenemos instalado el módulo GD. Si hacemos un perl -c, nos dirá que no lo encuentra.

Como sabemos que la diferencia de estar instalado o no es simplemente del sistema operativo, usamos esa característica para diferenciar los entornos de trabajo.

Entonces... en el programa ponemos, en lugar del use GD;, esto:
Código: Seleccionar todo
BEGIN {
    unless ($^O eq "MSWin32") {
        require GD; import GD;
}}
y el resto lo dejamos tal cual. A la hora de comprobar la sintaxis, hacemos lo mismo que antes, un perl -c programa.pl, pero la ejecución será distinta en un entorno que en otro. Si estamos en un entorno Windows no cargará el módulo y fallará en la primera línea que aparezca una referencia a él. Pero en otros sistemas, cargará el módulo y seguirá.

Esto se puede hacer porque use se ejecuta en tiempo de compilación, mientras que require e import lo hacen en tiempo de ejecución.

Por eso podemos chequear la sintaxis de un programa sin tener los módulos, porque no han sido cargados en la fase de compilación.

NotaPublicado: 2006-06-26 13:49 @617
por kidd
monoswim escribiste:Explorer, tendría que hacer eso en cada línea que luego usa el módulo verdad ? demasiado trabajo...jeje

Kidd y el Image::GD::Thumbnail; existe también para win ?

Saludos


Ese no tengo idea, pero ya que tienes instalado el GD, te puedes bajar el módulo del CPAN y ponerlo en tu librería pues no necesita ser compilado.

Saludos

NotaPublicado: 2006-06-27 19:14 @843
por monoswim
perfecto chavales mil gracias !!!!