Bonjours à tous,
On m'a dit que la question était plus adaptée à ce forum alors voilà :
Je voudrais de l'aide concernant la compilationd'un programme C qui fait appel à des fonctions Perl contenu dans un .pl sous Windows 2000 Proffessionnel.( Je compile sous MSVC++).
J'ai déjà installé la version 5.8.6 de Perl (C:\Perl) et indiqué le chemin d'accès pour la compilation dans tools/options/directories/. Je n'ai aucune erreur lorsque je compile le fichier "essais.c" (Ouai !! Very Happy ) mais lorsque je veux le construire (Build) j'ai les erreurs suivantes (ohhh... Crying or Very sad ) :
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 --------------------Configuration: essais - Win32 Debug-------------------- Linking... essais.obj : error LNK2001: unresolved external symbol _perl_free essais.obj : error LNK2001: unresolved external symbol _perl_destruct essais.obj : error LNK2001: unresolved external symbol _Perl_call_argv essais.obj : error LNK2001: unresolved external symbol _perl_parse essais.obj : error LNK2001: unresolved external symbol _perl_construct essais.obj : error LNK2001: unresolved external symbol _perl_alloc Debug/essais.exe : fatal error LNK1120: 6 unresolved externals Error executing link.exe. essais.exe - 7 error(s), 0 warning(s)
#texte de essais.c :
#Texte de prog.pl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <EXTERN.h> #include <perl.h> static PerlInterpreter *my_perl; int main (int argc, char **argv, char **env ) { char *args[] = { NULL }; my_perl = perl_alloc(); perl_construct(my_perl); perl_parse(my_perl, NULL, argc, argv, NULL); //perl_run(my_perl); perl_call_argv("prog", G_DISCARD | G_NOARGS, args); perl_destruct(my_perl); perl_free(my_perl); }
Voilà, c'est juste pour tester la compilation, alors si qqun peut me dire d'où vienne ces erreurs, je vous en serais tres reconnaissant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #!C:/Perl/bin/perl.exe -w use strict; print "Entrez qqchose :\n"; my $var = <STDIN>; print "Vous avez marque : $var\n";
++
Partager