Earlier, I asked the dll gurus,
> Latest response from Jan Dubois of ActiveState: >> On Fri, 24 Aug 2007, Suresh Govindachar wrote: >> >>> Sisyphus suggested linking with C:/opt/perl/lib/CORE/perl58.lib >>> (which does have the symbols in it) in the command that creates >>> if_perl.o and/or in the command that builds gvim.exe (which is >>> also the command that reports the missing references). >>> >>> But the build is supposed to use the library dynamically, rather >>> than be statically linked. So perl58.dll must tell the linker >>> that it will resolve the missing references at run time. >>> >>> Perhaps although ActiveState added code for the references, they >>> are not exposing them to the linker for dynamic use via >>> perl58.dll? Or is everything in a dll automatically visible? >> >> Perl_sv_2iv_flags is exported from perl58.dll. This symbols is >> being used by virtually every Perl module containing XS code >> because the SvIV() macro will expand into a call to it: >> >> [in sv.h] >> #define SvIV(sv) (SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv)) >> ... >> #define sv_2iv(sv) sv_2iv_flags(sv, SV_GMAGIC) Note: grep -rl Perl_sv_2iv_flags C:\opt\perl/lib/Core results in: C:\opt\perl/lib/Core/embed.h C:\opt\perl/lib/Core/perl58.lib C:\opt\perl/lib/Core/proto.h So added -lperl58 to the command that generates if_perl.o and to the command that generates gvim.exe. The first command reported: gcc: -lperl58: linker input file unused because linking not done The second command resulted in the same undefined reference error. Just to be sure, I added -lblah to the second command, and got the new error message: c:\opt\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lblah --Suresh --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---