专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 其他开发语言

Fortran调用vc的动态库,该如何处理

发布时间:2011-06-30 07:30:30 文章来源:www.iduyao.cn 采编人员:星星草
Fortran调用vc的动态库
大家好,有个问题请教下。我有一个工程,用VC2005编译成了动态库,里面有三个API,其中一个的内部用到了STL的东西,但是函数接口仍是普通数据。另两个做例子的函数(简单地比大小,没有用任何STL的东西)的导出方式如下

#pragma once

#ifdef DLL_API
#else
#define DLL_API extern "C" _declspec(dllimport)
#endif

DLL_API int _MAXX(int a, int b);
DLL_API int _MINN(int a, int b);

我用其他软件看了DLL中的函数名,是对的,而且这个动态库经过测试是正确的。FORTRAN 代码如下

program main
interface
integer function MAXX(a,b)
!DEC$ATTRIBUTES DLLIMPORT,STDCALL,ALIAS:'?MAXX'::MAXX
integer a,b
end function MAXX
integer function MINN(c,d)
!DEC$ATTRIBUTES DLLIMPORT,STDCALL,ALIAS:'?MINN'::MINN
integer c,d
end function MINN
end interface 

integer aa,bb,cx,cd
aa=12
bb=21
cd=MAXX(aa,bb)
cx=MINN(aa,bb)

write(*,*)cx,cd
end program

我也已经把LIB的路径加到FORTRAN工程里面去了,但是链接的时候出错。

Linking...
main.obj : error LNK2001: unresolved external symbol _MINN@8
main.obj : error LNK2001: unresolved external symbol _MAXX@8
main.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
main.exe - 3 error(s), 0 warning(s)

请大家帮忙。谢谢!



------解决方案--------------------
除了dll文件和路径,还要检查编译器设置和选项。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: