in reply to From Cygwin to ActiveState

I don't believe this will work. It is my understanding that modules including C code must be compiled with exactly the same compiler that was used to compile your Perl. ActiveState for Windows uses VC++. So I don't think you will get a module compiled with gcc working under ActiveState.

Please see:

A Guide to Installing Modules

A guide to installing modules for Win32

A Practical Guide to Compiling C based Modules under ActiveState using Microsoft C++

Update: Oh, and: Building Perl with the free MSVC tools

for more information.

HTH,

planetscape

Replies are listed 'Best First'.
Re^2: From Cygwin to ActiveState
by BrowserUk (Patriarch) on Sep 30, 2005 at 11:09 UTC

    It is certainly possible to call code in a dll built with one compiler, from code compiled with a different compiler.

    For example, calling any of the system modules (which are probably mostly built with one MS C or C++ compiler or other) from programs compiled with Borland's C or Digital Mars C++ works fine. Indeed, so does callng those same system DLLs from programs built with DMD or Haskell or Ocaml or Erlang or Clean or Perl or Ruby.

    It depends very much upon how the DLL is built and whether all it's runtime dependancies are added to the DLL (or derived from other DLLs), or not. I agree that it will not always work, and you are much safer sticking with a single compiler.

    The biggest danger is that you will get mismatched Perl components. If you attempted to use a module built for Cygwin Perl 5.6.x in conjunction with AS perl 5.8.x, it will almost certainly fail immediately, If both Perl's are the same version, you are less likely to encounter problems.

    I wouldn't use such cross-built DLLs for any critical purpose, but as a stop gap measure to trying something out, I might consider it.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.

      Thank you for the clarification. :-)

      planetscape