Fortran 中未解析的外部符号_loadlibrarya_@4和_getprocaddress_@8

unresolved external symbol _loadlibrarya_@4 and _getprocaddress_@8 in Fortran

提问人:njz 提问时间:8/15/2017 最后编辑:Vladimir F Героям славаnjz 更新时间:8/15/2017 访问量:331

问:

我在访问外部DLL时遇到Fortran问题。我不熟悉 Fortran。此处显示错误。代码如下:stdcall external LoadLibraryA, GetProcAddress

Subroutine GetDLLEntryPoint (EntryPoint,ModuleName)
   stdcall external LoadLibraryA, GetProcAddress  !error here
   integer*4 LoadLibraryA, GetProcAddress
   integer*4 pl,  plvalue, EntryPoint
   integer *4 pm
   character*100 LibraryName, ModuleName
   EntryPoint=0
   LibraryName = "MY.DLL"//char(0)
   pl = loc(LibraryName)
   plvalue = LoadLibraryA(val(pl))
   if (plvalue.ne.0) then
   pm = loc(ModuleName)
   EntryPoint = GetProcAddress (val(plvalue), val(pm))
   endif
   RETURN
   end

Absoft Fortran 编译器中的错误是:

 error LNK2001: unresolved external symbol _loadlibrarya_@4

 error LNK2001: unresolved external symbol _getprocaddress_@8
Windows DLL Fortran 未解析的外部

评论

0赞 Vladimir F Героям слава 8/15/2017
你用Qhich编译器吗?Tgis 不是标准的 Fortran。如果你不熟悉 Fortran,是别人的代码吗?它以前有效吗?在哪个编译器中?
0赞 njz 8/15/2017
我将编译器更改为 absoft。现在显示不同的错误。是的,别人的代码。我需要测试代码。
0赞 Vladimir F Героям слава 8/15/2017
那么它最初应该与哪个编译器一起使用呢?你能说出哪个编译器给了你上一个错误吗?哪个版本的编译器?
0赞 Vladimir F Героям слава 8/15/2017
如果编译 32 位,请参阅 stackoverflow.com/questions/11481633/...如果你编译的是 64 位,stdcall 应该不会做太多事情。如何指定链接的库?是否使用 Visual Studio?
0赞 njz 8/15/2017
以前,我将 Silverfrost 与 F95 一起使用。

答: 暂无答案