Hi,

I wrote a small module with C++ for computing similiarity between
strings. I compiled it on my 32-bit Windows XP machine using MinGW and
SWIG and got a .dll file. It worked like a charm.

Now i need to make it work in Windows 2003 x86_64 envinronment. I
downloaded 64-bit version of MinGW and reproduced exactly the same
steps from 32-bit env, namely:

I have 3 files: Leventsthein.cpp, Levensthein.h (algorithm
implementation) and UtilsXS.cpp (this only exports single function
that uses Levensthein class). Now then:

> swig -perl5 -c++ UtilsXS.cpp
Now i have UtilsXS_wrap.cxx, and UtilsXS.pm
> g++ -c UtilsXS_wrap.cxx Levensthein.cpp -Ic:\perl64\lib\CORE
> g++ -shared UtilsXS_wrap.o Levensthein.o c:\perl64\lib\CORE\perl510.lib -o 
> UtilsXS.dll

This compiles and links without errors. But when i try to import it in
my .pl file script immediately exits with no messages whatsoever. When
i run it with:
> perl -d test.pl

Signal SEGV at UtilsXS.pm line 11
        require UtilsXS.pm called at dupa.pl line 2
        main::BEGIN() called at UtilsXS.pm line 0
        eval {...} called at UtilsXS.pm line 0

Note that this does not happen on my 32-bit envinronment. What could
be the cause? If it helps: i use ActiveState perl v5.10 on both
envinronments.

Reply via email to