Ask a Question related to PERL Modules, Design and Development.
-
Mr Cheeky Monkey #1
Question about creating modules
Hi,
I'm new to perl and need a little help. I'm using ActiveState Perl under
windows. I've tried creating a module from a C++ source using swig and the
methods outlined in both the perl documentation and the swig documentation.
I have VC++ installed and making the dll files works successfully. However
when I try to load the module the perl interpreter seems to loop forever.
The problem seems to occur at the bootstrap stage. Unfortunately I don't
know enough to make a good guess as too what's going on.
I'll try to give a little background as to what I'm trying to achieve. I
have a DLL that I want access from perl. The glue that I need between perl
and the DLL is really just a class definition with a list of pure functions
(some using VARIANT's) that correspond to a virtual table as setup by the
DLL I want to call. The module I'm trying to create only contains 2
functions one to create an instance of the class object and one to destroy
it. SWIG seemed to be what I needed but having produced the necessary file
nd done what I can. I seem to be stuck.
I'm using version 5.8.8 of perl and I have stripped out everything in my C++
code, recompiled and made the library and still it wont load.
Can anybody help?
Leon
Mr Cheeky Monkey Guest
-
Creating Makefiles for multiple nested modules
I just wanted to preface this with this is my first experience making Perl modules, so if this is completely trivial, please laugh at me, call me a... -
Question about building modules on W2K
Hello, I have two environments here -- development and production. The software architecture of the boxes are strictly controlled by the... -
Class Modules Question
Gday :) I have a DLL project which calls data via ADO and exposes the various fields as Property(s). I'm getting a comile error: ... -
Creating Perl Modules
Does anyone know of any step by step (or as easy) tutorials for creating a perl module? Type of modules that don't use EXPORTER. I can't... -
Modules Question
I use Text::Bastardize off of the CPAN from time to time. I find it mildly amusing, if not terribly practical. However, today when I was working... -
Sisyphus #2
Re: Question about creating modules
"Mr Cheeky Monkey" <cheeky.monkey23@hotmail.co.uk> wrote in message
news:u8udnV4oIYYcJuXZnZ2dnUVZ8qGdnZ2d@bt.com...documentation.> Hi,
>
> I'm new to perl and need a little help. I'm using ActiveState Perl under
> windows. I've tried creating a module from a C++ source using swig and the
> methods outlined in both the perl documentation and the swigWhich version of VC++ ? With ActiveState perl you really should be using 6.0> I have VC++ installed and making the dll files works successfully.
(as that's what was used to build perl), though you'll *generally* get good
milage from other (later) VC++ versions. I don't know if/how such a mismatch
would impact upon swig.
In fact, I know stuff-all about swig - so, if you're committed to using> However
> when I try to load the module the perl interpreter seems to loop forever.
> The problem seems to occur at the bootstrap stage. Unfortunately I don't
> know enough to make a good guess as too what's going on.
>
swig, I can't be of much use :-)
However, if you're simply trying to access a dll, there are a number of
other options.
You could use Inline::C (or perhaps in this case Inline::CPP would be more
appropriate).
Or you could write your own extension (module) with XS - which is pretty
much what Inline::C/Inline::CPP do, though they do it using an automated
process. There's a good example of accessing a dll in the Inline::C cookbook
(see the section "Just Desserts" in perldoc Inline::C-Cookbook).
Another alternative is to use Win32::API - for which no compiler is needed,
and which is a fairly popular hack (though I personally prefer to avoid it).
C++>
> I'm using version 5.8.8 of perl and I have stripped out everything in myMake sure you're using build 817 (or later):> code, recompiled and made the library and still it wont load.
>
perl -e "print $ActivePerl::VERSION"
Build 816 (which is a 5.8.8 build) is a bad build and should be avoided
altogether.
Cheers,
Rob
Sisyphus Guest



Reply With Quote

