On Wed, Jul 16, 2003 at 04:26:45PM +0100, Steve Hay wrote: > Nicholas Clark wrote: > > >On Wed, Jul 16, 2003 at 04:06:59PM +0100, Steve Hay wrote: > > > > > >>However, when I try to link this I get an "unresolved external symbol" > >>error regarding PerlIO_isutf8(). This is declared in "perlio.h" (hence > >>the compiler was happy), but listing the symbols exported by my > >>"perl58.lib" I don't see it (hence the linker is unhappy). > >> > >> > > > >Which OS are you doing this on? Is it one (such as AIX or Windows) that > >needs an explicit list of functions to export from a library? > > > > > Yes, I'm working on Windows (XP, SP1) with MSVC++ 6.0 (SP5). > > Do I ned to rebuild my Perl library differently? I built it myself from > ActivePerl 806 sources, but disabling the threading options and large > file support, and enabling Perl's malloc. I've pasted my "perl -V" here > in case that's of any use.
I don't know quite what is needed. I think that another line needs to be added to embed.fnc to export PerlIO_isutf8(), then make regen_headers run before remaking, but I'm not sure. I've cross posted to p5p - hopefully someone will know there. Not exporting PerlIO_isutf8 sounds like a bug that needs that needs fixing for 5.8.1 > Summary of my perl5 (revision 5 version 8 subversion 0) configuration: > Platform: > osname=MSWin32, osvers=4.0, archname=MSWin32-x86-perlio > uname='' > config_args='undef' > hint=recommended, useposix=true, d_sigaction=undef > usethreads=undef use5005threads=undef useithreads=undef > usemultiplicity=undef > useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef > use64bitint=undef use64bitall=undef uselongdouble=undef > usemymalloc=y, bincompat5005=undef > Compiler: > cc='cl', ccflags ='-nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 > -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_DEBUGGING_MSTATS > -DUSE_PERLIO -DPERL_MSVCRT_READFIX', > optimize='-MD -DNDEBUG -O1', > cppflags='-DWIN32' > ccversion='', gccversion='', gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 > d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=4 > alignbytes=8, prototype=define > Linker and Libraries: > ld='link', ldflags ='-nologo -nodefaultlib -release > -libpath:"C:\perl5\lib\CORE" -machine:x86' > libpth=C:\PROGRA~1\MICROS~2\VC98\lib C:\openssl\lib > libs=libeay32.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 > perllibs=libeay32.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 > libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib > gnulibc_version='undef' > Dynamic Linking: > dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' > cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release > -libpath:"C:\perl5\lib\CORE" -machine:x86' > > > Characteristics of this binary (from libperl): > Compile-time options: > Built under MSWin32 > Compiled at May 1 2003 14:48:19 > @INC: > C:/perl5/lib > C:/perl5/site/lib > . Nicholas Clark
