Newsgroup: it.comp.lang.perl
Titolo: Inline::C e Win32

Salve,
volevo sapere se qualcuno ha mai utilizzato, e quindi installato, questo
interessante modulo senza avere Visual C++ installato. Io ho dev-cpp e
quindi utilizzo MinGW come compilatore (gcc). Qualcuno sa se c'è qualche
parametro da passare al Makefile.PL per impostare quale compilatore
utilizzare per il make dello script?
Non so se sono stato chiaro... :)
Grazie,
-- 
+--------+ ASCII ribbon campaign ( )
|  kral  |  - against HTML email  X 
+--------+              & vCards / \

Non so se sono stato chiaro... :)
In effetti no, ma io ho capito lo stesso, perché sono mostruosamente
intelligente.
Rassegnati, e installa il modulo con ppm.
Alternativamente, edita Makefile (DOPO avere eseguito perl Makefile.pl),
cambia la linea "CC = ...", e prega intensamente. MOLTO intensamente.
Nel caso particolare, essendo a quanto ho capito un modulo in perl puro, le
tue preghiere hanno buone probabilitā di essere esaudite. In generale,
l'unico compilatore che č garantito funzionare per la compilazione dei
moduli e Visual C++.
Questo naturalmente non ha niente a che vedere con il compilatore
utilizzato da Inline::C per la compilazione del codice inline, che immagino
possa essere qualunque, o comunque un insieme pių vasto che per la
compilazione dei moduli.
Ciao.

 per la compilazione dei moduli.
In effetti non ci siamo capiti :^). Il modulo è in puro perl (mi sembra)
e si installa senza problemi. 
Quando eseguo uno script in cui ho utilizzato Inline::C, l'interprete
chiama nmake, generando degli errori (nmake è un componente di visual
c++, se non erro). Volevo sapere quindi se era necessario avere VC++ o
se qualcuno aveva trovato un "modo" per aggirare l'ostacolo.


se qualcuno aveva trovato un "modo" per aggirare l'ostacolo.
Le utilità esterne da usare si specificano attraverso le opzioni di
configurazione all'interno dello stesso script, al caricamento del modulo o
in una chiamata successiva:
    use Inline (C => 'DATA',
                DIRECTORY => './inline_dir',
                LIBS => '-lfoo',
                INC => '-I/foo/include',
                PREFIX => 'XXX_',
                WARNINGS => 0,
               );
MAKE è una delle opzioni di configurazione di Inline::C.
Immagino che ci siano dei valori di default per ogni opzione, che immagino
si possano modificare editando qualcosa (presumibilmente Inline::C.pm, o
forse addirittura Config.pm).
Ti consiglio comunque di procurarti nmake, che ha sicuramente maggiori
probabilità di funzionare (in realtà, dubito che qualsiasi altra cosa, che
non sia totalmente compatibile con nmake, possa funzionare). nmake si trova
in rete; nessuno, credo, ha mai capito se ci siano dei limiti al suo
utilizzo, ma è liberamente disponibile direttamente dal sito della
Microsoft, sicché....
Ciao.
P.S. Non ho mai utilizzato Inline::C, di cui ho avuto notizia per la prima
volta oggi.

 MAKE è una delle opzioni di configurazione di Inline::C.
Dato che è una mera questione di RTFM, chiedo scusa al ng! :^)
Grazie ancora,


Dato che è una mera questione di RTFM, chiedo scusa al ng! :^)
Devo anche dire che, per curiosità, ho provato, e non ha funzionato proprio
proprio come mi aspettavo; non sembra essersi curato molto dei parametri
opzionali che gli ho dato, ma può anche darsi che abbia sbagliato qualcosa.
Ho inoltre capito un po' di più come funziona, e il mio ottimismo riguardo
la possibilità di utilizzare qualunque compilatore si è leggermente
afflosciato.
In ogni caso, le impostazioni di default vengono prese direttamente da
Config.pm; se dovesse fallire il sistema dei parametri opzionali, è quindi
sempre possibile cambiarle lì.
Ciao.

 leggermente afflosciato.
Io ci ho rinunciato, almeno sotto win32. Senza VC++ non sembra
funzionare correttamente. Avevo già nmake installato ma, eseguendo
degli script che utilizzano Inline::C, mi dava degli errori in
esecuzione. Ho pensato quindi sia perché non ho VC++ installato e quindi
la prova che mi restava da fare era di usare il make del MinGW. Cosa che
si è rivelata cmq un insuccesso... Non ho troppo tempo da dedicarci
purtroppo e quindi non approfondirò più di tanto, ma rimane cmq un
modulo interessante.
Ciao,


funzionare correttamente.
Non sarei neppure così drastico. Le opzioni di configurazione, ho scoperto,
basta sapere quando dargliele. Ho tentato un "hello world" (con lcc32 come
compilatore), e mi fallisce il link, ma credo che insistendo e aggiustando
qualche altra opzione si riuscirebbe a farlo andare.
Programmi semplici dovrebbero funzionare senza eccessivi sforzi, risolti i
problemi di configurazione. I problemi seri di solito sorgono quando c'è da
includere qualche libreria che entra in conflitto con quelle del
compilatore con cui è stato compilato l'interprete. Questo almeno è quello
che mi hanno insegnato le mie preistoriche esperienze con Clipper. Con il
perl non mi sono mai cimentato, perché l'interfaccia al C è ancora più
complicata di quanto fosse quella di Clipper (che è tutto dire).
Ciao.

 utilizzare per il make dello script?
Scrivo su suggerimento di dada:
Il modo migliore e meno faticoso per farlo funzionare è avere un perl 
compilato con gcc.
modo 1: prendere il source del perl e ricompilarlo (con MingW).
modo 2: installare cygwin.

 modo 1: prendere il source del perl e ricompilarlo (con MingW).
Meno faticoso è un eufemismo, vero? :^)
Cmq sto facendo delle prove, se salta fuori qualcosa di interessante vi
renderò partecipi tutti!
Ciao,
