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
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui