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 ) :

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)
Voici mon code :
#texte de essais.c :
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);
}
#Texte de prog.pl :
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";
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.


++