f



Matlab 6.5.1 R13 with CVF 6.6?

I have a fortran file which I've been mex compiling using Compaq VF
6.5 under Matlab 6.5.1, and it works fine. I just upgraded to CVF
6.6 (using the free 6.5->6.6 upgrade from Compaq's webpage), and
discovered that my file will no longer compile properly. To be
specific, it compiles/links fine, but when I try to run I get:

Unable to load mex file: <my extension>myfile.dll
The specified procedure could not be found

When I dug a little deeper, it seems that this only happens on files
that use dynamically allocated memory. In particular, when I
compared the two different .dll's using Microsoft's Dependence
Walker, the only difference I can spot is in their link to
DFORMD.DLL. The version compiled under CVF6.6 includes a link to the
function "for_check_mult_overflow", while the CVF6.5 version does
not. In both cases, the same version number of DFORMD.DLL is being
used.

Does anybody have any ideas/thoughts/experience on this? Any help
would be gratefully required, as I would prefer to use CVF6.6, but
definitely require dynamic memory allocation in my code.

Thanks
Darryl
0
dehaan (3)
3/15/2005 2:20:34 PM
comp.soft-sys.matlab 211266 articles. 15 followers. lunamoonmoon (258) is leader. Post Follow

1 Replies
1302 Views

Similar Articles

[PageSpeed] 40

"Darryl DeHaan" <dehaan@chee.queensu.ca> wrote in message 
news:eeff087.-1@webx.raydaftYaTP...
>I have a fortran file which I've been mex compiling using Compaq VF
> 6.5 under Matlab 6.5.1, and it works fine. I just upgraded to CVF
> 6.6 (using the free 6.5->6.6 upgrade from Compaq's webpage), and
> discovered that my file will no longer compile properly. To be
> specific, it compiles/links fine, but when I try to run I get:
>
> Unable to load mex file: <my extension>myfile.dll
> The specified procedure could not be found
>
> When I dug a little deeper, it seems that this only happens on files
> that use dynamically allocated memory. In particular, when I
> compared the two different .dll's using Microsoft's Dependence
> Walker, the only difference I can spot is in their link to
> DFORMD.DLL. The version compiled under CVF6.6 includes a link to the
> function "for_check_mult_overflow", while the CVF6.5 version does
> not. In both cases, the same version number of DFORMD.DLL is being
> used.
>
> Does anybody have any ideas/thoughts/experience on this? Any help
> would be gratefully required, as I would prefer to use CVF6.6, but
> definitely require dynamic memory allocation in my code.
>
> Thanks
> Darryl

It's been a while, but I had problems with dynamic memory allocation as well 
with CVF 6.6 and Matlab 6.5.  The only solution I was able to find was to 
always generate the "debug" version of my mex-file (that is, always use 
the -g option with the mex command).  For the most part, I could live with 
the slower execution speeds.

John 


0
3/16/2005 1:12:50 PM
Reply: