
perl extensions in ActivePerl 5.005 under WindowsNT 4.0SP3
[mailed & posted]
Quote:
>I'm trying to master the use of perl extensions (ActiveState's perl 5.005)
>by keying in example1
>of the perl-doc `perlxstut', but it refuses to compile with MicroSoft Visual
>C++ 4.2 (WindowsNT 4.0 SP3).
> h2xs -A -n Mytest
> cd mytest
> <<editing mytest.xs conform example1>>
> perl Makefile.pl
> nmake # gives the following error
> D:\Perl\5.005\lib\MSWin32-x86-object\CORE\perl.h
> (1232) : error C2644: basis 'CPerlObj' for pointer to
>member has not been defined.
Peter,
ActivePerl is compiled with the PERL_OBJECT option to accommodate
ActiveState addon products like PerlScript, PerlEx etc. This requires C++
which is not compatible with MSC++ 4.2 anymore. I tried unsuccessfully to
fix this, but 4.2 unfortunately doesn't grok the required predeclarations
for the CPerl object, you have to define it, which you can't, because some
required types are not yet defined; a circular reference.
You have to update to MSC++ 5.0 to compile Perl 5.005 with PERL_OBJECT
enabled, but standard build still compiles with 4.2, so you can recompile
from the sources if you don't use the other ActiveState gadgets. Then you
can also compile the extensions with 4.2.
-Jan