Re: ERROR_MOD_NOT_FOUND when using call_external [message #37318] |
Wed, 10 December 2003 08:30  |
Karl Schultz
Messages: 341 Registered: October 1999
|
Senior Member |
|
|
"Brian" <brian.huether@NOdlrSPAM.de> wrote in message
news:33269b572f090788e59fd6a07c85fc8d@news.teranews.com...
> Wow. That is interesting! All I did was go to preferences and and add the
> path. I know the path is ok, because I also have a procedure file there
and
> IDL finds that procedure ok. Well, I feel like I am a step closer. Can you
> give me more info about your system? What version of IDL, etc?
It depends on which path you are talking about. The path I think you are
changing is the IDL !PATH, which controls where .pro, .sav, and include
files are found.
I moved the fftw DLL from my bin.x86 into C:/bin, which is in my Windows
path, and it still worked. So, you could put the fftw DLL into any dir in
your Windows path. Windows executables also look in the same dir as the
executable, which explains why it also works when the DLL is placed there.
>
> thanks!
>
> -brian
>
> "Karl Schultz" <kschultz_no_spam@rsinc.com> schrieb im Newsbeitrag
> news:vtbusmdr32aled@corp.supernews.com...
>>
>> "Brian" <brian.huether@NOdlrSPAM.de> wrote in message
>> news:e648955426f3d43b5606a3f898bc6d98@news.teranews.com...
>>> I got the fftw binary from www.fftw.org and am trying to call it from
> IDL.
>> I
>>> have searched the forum and have found little info about this error.
>>>
>>> Here is how I am calling it:
>>>
>>> array = call_external('fftw3.dll', 'fftw_malloc', 32, /CDECL)
>>>
>>> My path is set up so that IDL knows where the dll is. I also get the
> error
>>> without /CDECL. I have also tried prepending the function name with an
>>> undeline as someone in another post that I came across had suggested.
>>>
>>> At this point I have no clue what to do. I don't have the means nor
the
>>> skills to recompile dlls such that they work properly with IDL. I am
>> hoping
>>> this works out of the box.
>>>
>>> Any ideas?
>>
>> I downloaded the binary DLL file, put it in my bin/bin.x86 directory and
> the
>> call_external invocation you listed above works - array gets set to a
LONG
>> value (a pointer, I guess).
>>
>> So, I'm thinking that the problem lies in telling IDL where the dll is.
> If
>> you tell us how you are trying to specify the location of the DLL, maybe
> we
>> can help further. Or just drop the DLL into your distribution
bin/bin.x86
>> directory and get on with it if that isn't too distasteful to you
>>
>> Karl
>>
>>
>
>
|
|
|