Re: importing .dll files [message #68349 is a reply to message #68344] |
Tue, 20 October 2009 00:45   |
Wout De Nolf
Messages: 194 Registered: October 2008
|
Senior Member |
|
|
On Mon, 19 Oct 2009 16:06:00 -0700 (PDT), Cindy
<cgoethel@igpp.ucla.edu> wrote:
> Hello,
>
> I have a dynamic linked library (created in Visual Fortran) and I am
> trying to use the call_external procedure to use one of the
> subroutines, however, I am unclear on the error messages I am getting.
>
> IDL>dll_file_name=' C:\Program Files\Microsoft Visual Studio
> \MyProjects\test\Debug\test.dll'
> IDL> result=call_external(dll_file_name, 'aoc', r)
> CALL_EXTERNAL: Error loading sharable executable.
> Symbol: aoc, File = C:\Program Files\Microsoft Visual Studio\MyProjects
> \test\Debug\test.dll
> The specified procedure could not be found.
>
> Does the above mean
> 1. it can't access/open/interpret the .dll file and hence can't find
> the procedure
> or
> 2. just can't find the procedure in the library
When it doesn't find the library, it gives this message:
% CALL_EXTERNAL: Error loading sharable executable.
Symbol: aoc, File = test.dll
The specified module could not be found.
In your case, it finds the dll, but doesn't find the aoc procedure.
One of the problems I can think of is "name decoration". Use the
Dependency Walker (google it and download) to check whether the export
function aoc has some strange characters appended to it.
|
|
|