"Sisyphus" (sisyph...@optusnet.com.au) writes:
> If your 32-bit perl, and therefore also your binaries, use a runtime
> other than msvcrt.dll (eg msvcr80.dll), then that also can cause *big*
> problems - in the form of a crash. ActivePerl uses the msvcrt.dll
> runtime, and  that runtime won't know what to make of any handles passed
> to it that were created by a different runtime. If that's happening with
> your 32-bit builds, then the only solution I know of is to use a
> compiler (and a perl) that *does* use the msvcrt.dll runtime - eg MSVC++
> 6.0 or MinGW (and a perl built with the same). 

It occurred to me that I use the /MT option to compile the MSVCRTnn dll
statically. I tried removing that option. No change. But then I realised 
I had defined CCFLAGS for another option as well. Removed that. And
that turned the tables. To the worse, since linking now failed with 
tons of errors referring to the C Run-time library.

> If that is the problem, I would also think you would then get the same
> issue with earlier versions of ActivePerl. Did that happen ? 

No. And it does not occur with ActivePerl 64-bit.

> Does the problem arise only when you use *ActivePerl* with your compiler
> to build your module ? 

So far, yes.

> Do you get a similar problem if you take the binaries that tested fine on 
> *your* build of perl-5.14.1, and use them with ActivePerl-5.14.1 ?

I've yet to test that. But if the problem is the mix of MSVCRT versions,
this should not help.
 
>> Revelant information may be that I've build my module on an x64 machine,
>> using the C++ compiler from either VS2005 or VS2010. (The module does
>> not compile with earlier versions.)

Tried tonight to build on a pure 32-bit machine. No change.
 
> Jan Dubois possibly has some ideas (and definitely has a better 
> understanding) about this. If he doesn't turn up here, and you wish to get 
> some feedback from him, try posting to the perl-win32-users list hosted by 
> ActiveState - he seems to keep a close eye on that list.
 
Seems like Jan turns up whenever I ask a Perl question - unless I ask
it in ActiveStates own forums. This time he is silent, but vacation 
is commonplace this time of year.


-- 
Erland Sommarskog, Stockholm, esq...@sommarskog.se

Reply via email to