in reply to B::C - Perl compiler's C backend

They are located in a shared library. You can get the full name of the library like this:

perl -MConfig -e 'print $Config{libperl}, "\n"'
Perl will search for the library in $Config{libspath}.

I don't know which operating system you are using but on Debian GNU/Linux you need to install the libperl-dev package to get the symlink needed for the perl C backend to work.


Replies are listed 'Best First'.
Follow-on to B::C question
by cellist (Initiate) on Jul 29, 2004 at 04:53 UTC
    This is a follow-on to my previous question about using B::C to turn a perl program into C so it can be compiled. I hope this gets merged into the thread of my previous question and the replies that have been posted. I'm running on Windows/XP. 1. I found a script all cc_harness and ran it. It exec'd the following command: C:\Documents and Settings\myname\Perl>perl cc_harness cl -nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -IC:\Perl\lib/CORE -nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86 C:\Perl\lib/CORE/perl58.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib 2. I found a file in perl/lib/auto/b/c called C.DLL, which looks like it has a couple of the referenced functions that the linker was unable to include and it also refers to a perl58.dll. (This file is not readable with a text editor; I'm using a freeware program called filealyzer.) I need to somehow tell the C compiler to pick up these libraries, or deriatives of them, for the link step. Do we have any Windows guys hanging around here?