I need to embed perl (5.6.0) functions (from the file parse_tds.pl) into a C application (called interp.c) but I have compile error.
From my C code I call a perl function which uses 3 external modules Data, Spreadsheet and Getopt.
I have already installed those modules before. Linux is the working environment.
First I generated xsinit.c file by:
perl -MExtUtils::Embed -e xsinit -- -o xsinit.c -std Data Spreadsheet +Getopt
then compiling and linking everything by:
cc -c xsinit.c `perl -MExtUtils::Embed -e ccopts` cc -c interp.c `perl -MExtUtils::Embed -e ccopts` cc -o interp interp.o xsinit.o `perl -MExtUtils::Embed -e ldopts`
It seems to me that I would need to link xsinit.o with archive Data.a Spreadsheet.a and Getopt.a but I don't have such files anywhere like could be for Socket.a !!!!!cc -o interp interp.o xsinit.o `perl -MExtUtils::Embed -e ldopts` xsinit.o: In function `xs_init': xsinit.o(.text+0x14): undefined reference to `boot_Data' xsinit.o(.text+0x2c): undefined reference to `boot_Spreadsheet' xsinit.o(.text+0x44): undefined reference to `boot_Getopt' collect2: ld returned 1 exit status
Many thanks,
Luke
In reply to (duplicate) Embed Perl into C...compile error !!! by vbn99_luke
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |