Appeler du perl depuis du C ?
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:
Code:
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);
} |
fichier truc.pl :
Code:
1 2 3 4
| #!/usr/bin/perl -w
use strict;
print "\n hello world !\n"; |
Commande pour compiler:
Code:
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 |
Erreurs renvoyées:
Code:
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' |
Si vous connaissez une autre solution je suis aussi prenneur. ;)
merci.