Bonjour,
Je cherche à lancer un script perl depuis un programme C avec une chaine de caractère en argumant. J'ai trouver des choses sur le net mais rien qui compile
fichier main.c:
fichier truc.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> #include <stdio.h> #include <stdlib.h> static PerlInterpreter *my_perl; main(int argc, char *argv[]){ char *args[] = { NULL }; my_perl = perl_alloc(); perl_construct(my_perl); perl_parse(my_perl, NULL, argc, argv, NULL); perl_call_argv("truc", G_DISCARD | G_NOARGS, args); perl_destruct(my_perl); perl_free(my_perl); }
Commande pour compiler:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #!/usr/bin/perl -w use strict; print "\n hello world !\n";
Erreurs renvoyées:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 cc main.c -o main -O2 -Dbool=char -DHAS_BOOL -I/usr/local/include -I/usr/lib/perl/5.14/CORE -L/usr/lib/perl/5.14/CORE
Si vous connaissez une autre solution je suis aussi prenneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 error: undefined reference to 'perl_alloc' function main: error: undefined reference to 'perl_construct' function main: error: undefined reference to 'perl_parse' function main: error: undefined reference to 'Perl_call_argv' post4.c:function main: error: undefined reference to 'perl_destruct' function main: error: undefined reference to 'perl_free'
merci.
Partager