vbn99_luke has asked for the wisdom of the Perl Monks concerning the following question:
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
|
|---|