perlembed: pb avec @INC

perlembed: pb avec @INC - Perl - Programmation

Marsh Posté le 23-06-2005 à 12:49:02    

Bonjour,
 
j'essaie désespéremment d'utiliser perlembed pour intégrer perl dans mon appli C++, mais je me heurte à plusieurs problèmes. :(  
Mon problème actuel est que le @INC de l'interpréteur contient uniquement '.', alors forcément, il ne trouve pas les librairies (standard) utilisées par mon script...
J'ai donc essayé de faire

Code :
  1. use lib "C:\\Perl"


mais même ça provoque une erreur parce que l'interpreteur ne connait même pas le module "lib" qui permet de gérer @INC.
 
Y a t-il moyen d'initialiser correctement l'interpréteur Perl de perlembed pour qu'il ait un @INC utilisable?
Comme je développe mon appli sous Windows, j'ai suivi les instructions décrites dans perlembed :
- générer perlxsi.c par la commande

Code :
  1. perl -MExtUtils::Embed -e xsinit


- intégrer perlxsi.c dans mon projet
- sans oublier le lien vers perlXX.lib
 
La solution ne se situe t-elle pas dans une génération plus évoluée de perlxsi.c?
 
Ou est-ce à l'initation de mon interpreteur Perl en C++ qu'il faut préciser quelque chose?
 
Merci d'avance


Message édité par mellie35 le 23-06-2005 à 17:00:10
Reply

Marsh Posté le 23-06-2005 à 12:49:02   

Reply

Marsh Posté le 23-06-2005 à 13:57:00    

tu peux faire ca:

Code :
  1. BEGIN {
  2.   push @INC, '...
  3. }


Reply

Marsh Posté le 23-06-2005 à 15:00:07    

pospos a écrit :

tu peux faire ca:

Code :
  1. BEGIN {
  2.   push @INC, '...
  3. }



Cool! Ca marche bien! Merci pospos!
Il me manquait aussi le passage du paramètre xs_init lors de l'appel "perl_parse()"...
 
Autre question si quelqu'un connait perlembed  :hello: :  
Comment appeler un script avec passage d'arguments? Il faut utiliser la fonction "perl_call_argv"?
 
De manière générale, je cherche une description précise des fonctions à utiliser dans perlembed. Un lien pertinent serait bienvenu...  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed