Ah, thank you Rob. This solved the problem, but another one came up. Anyway, is this first problem documented anywhere? I've looked around and I haven't found this. Unless I'm missing it, I recommend that the '/lib' thing be included in future versions of the FAQ, it's a minor thing, but how are we to know about it?
I spent all day yesterday, rebuilding my code with Inline::C, pretty much like the OO example in the C Cookbook. And with the modified Makefile it works perfectly. But the CPP version still doesn't work. Actually it's like this. If I write the code like this: #package ChmFile #commented out, not needed because Inline::CPP creates #the namespace automatically our $VERSION = '0.01'; use Inline ( C => Config => LIBS => '-lchm', VERSION => '0.01', NAME => __PACKAGE__, CLEAN_AFTER_BUILD => 0 ); use Inline 'CPP'; __DATA__ __CPP__ class ChmFile { ... } I get errors because I didn't put the "package ChmFile;" statement on top ( I can't use VERSION and NAME without a package declaration). And if I put it, after installing the module and trying to use it, it seems the methods are not correctly linked with the ChmFile class. I thought when Inline::CPP detects a class declaration it automatically creates the namespace and the package declaration is no longer needed. This seems to be somewhat true since I can use the ChmFile.pm without the package declaration (if I remove the VERSION and NAME options) but I can't make a CPAN distribution out of it since it has no explicit package declaration. It also seems to compile the class in the main namespace if I use it as I said it works. I don't know, I'm confused as to what's really going on here. Help, anyone? Alex On Fri, 25 Mar 2005 09:59:14 +1100, Sisyphus <[EMAIL PROTECTED]> wrote: > > ----- Original Message ----- > From: "Alexandru Palade" <[EMAIL PROTECTED]> > > > VERSION_FROM => 'lib/ChmFile.pm', # finds $VERSION > > I think *that* is the problem - ie Inline doesn't know how to deal with the > situation when ChmFile.pm is in the 'lib' folder. It wants ChmFile.pm to be > in the current working directory. If you move ChmFile.pm to the current > working directory (top level folder) and amend the above line from the > Makefile.PL appropriately, then it should work. > > Alternatively, there may be a fix that allows ChmFile.pm to remain in the > 'lib' folder - but I don't know what it is. I've a feeling that this has > been discusssed here previously - perhaps there's something in the archive > that helps. > > I get a very similar error on Win32 when I move Simple.pm to a 'lib' folder > with the Math::Simple example that ships with the source distro. > > D:\tmp>dmake > cp lib/Simple.pm blib\lib\Simple.pm > dmake.exe: Error -- `Simple.inl' not found, and can't be made > > Cheers, > Rob > >