From: Konovalov, V. <vko...@sp...> - 2005-11-07 11:50:36
|
> After much hammering (much of it figuring out various details of Perl > and/or Windows CE development), I've gotten most of Perl 5.8.7 > compiling on Windows CE 5.0. But I've gotten into cross-compiling the > extension modules, and things have gotten really weird on me. most probably this is because 5.8.7 (and following) sourcetrees need some adjustments. I'll look into this today. And what are your changes? Also, it is pity wiki on SF is now read-only, so I can't even place my advices there :( May be I'll move wiki into another place. > > I get through building Cwd.dll fine, but after that, I constantly get > complaints that "The application or DLL > {feh}\perl-5.8.7\xlib\wince-arm-hpc-wce500\auto\Cwd\Cwd.dll is not a > valid Windows image." from C:\Perl\bin\perl.exe, which I am using in > place of miniperl because I don't have a non-cross-compiler installed > on this machine. > > All I can figure is that because of the changes to @INC that happen in > Cross.pm, the native Perl is trying to load the cross-compiled Cwd.dll > instead of the one in C:\Perl that it should be loading. But those > changes to @INC are important, apparently. How am I supposed to get > around this? Makefile.ce contains macro HPERL, which is host perl, and it can be ajusted to your location, but then you need to be careful on not getting it rebuild accidentally (there will be no harm and no good, just a mess) You can copy Cross.pm to your perl location, and you need to carefully check whether @INC search path does right thing: it must hide normal Config.pm and have only "alien" Cross.pm from target platform. Changes in @INC only to find proper Config.pm, and they are not intended to find Cwd.dll of another platform... It's pity Cwd.dll is an external library, and probably it is searched in wrong place, indeed, but you can avoid this problem *before* messing @INC in Cross.pm -- by loading it in Cross.pm! Vadim. |