Nicholas Clark <[EMAIL PROTECTED]> writes: >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
Most of the PerlIO_Xxxx() are handled as a group in makedef.pl > >> 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
