> Thanks for reply Carl. I was never able to get dumpbin.exe to work on
> my PC, so had colleague run it on his. After running dumpbin on my
[quoted text clipped - 42 lines]
> know what subroutine name the dll is showing?
> Thanks again for your earlier reply.
hi Carl,
I am able, now, to run dumpbin at my PC. In any case, I ran /EXPORTS, and
got the following:
Dump of file sftck3.lib
File Type: LIBRARY
Exports
ordinal name
_SFTCK3
Summary
C3 .debug$S
14 .idata$2
14 .idata$3
4 .idata$4
4 .idata$5
C .idata$6
I checked this against a known working DLL I previously created in C, and
the output
is similar. So now I'm thinking that the subroutine name is there, but that
the original error "unresolved external symbol _SFTCK3@0" is indicating the
function name is undefined to the function that is calling it. Normally, in
C, I would have some kind of #include "xxxxxxxx" to define SFTCK3. Do I need
some type of .h to go with my fortran dll?
> > Thanks for reply Carl. I was never able to get dumpbin.exe to work on
> > my PC, so had colleague run it on his. After running dumpbin on my
[quoted text clipped - 48 lines]
>
> -cd
Carl Daniel [VC++ MVP] - 01 Jul 2005 22:17 GMT
> hi Carl,
>
[quoted text clipped - 23 lines]
> "xxxxxxxx" to define SFTCK3. Do I need some type of .h to go with my
> fortran dll?
OK, so your C code is expecting a function with the normal __stdcall name
decorations (_name@paramSize), while your Fortran DLL exported only a simple
name.
Are you sure that the Fortran code is __stdcall? It's named as if it's
__cdecl. Try changing your extern declaration in the C module to use
__cdecl. That'll probably make it link - if the Fortran function doesn't
actually __cdecl, then the mismatch will likely cause the program to crash
shortly after returning from the Fortran sub.
-cd
RichN - 06 Jul 2005 22:09 GMT
Hi Carl,
Just wanted to get back to you. cdecl worked ! I was able to compile and
link, and the program seems to be running ok. Thanks for advice !
Rich
> > hi Carl,
> >
[quoted text clipped - 35 lines]
>
> -cd