我想将我的Fortran代码与这个Fortran创建的DLL链接起来。
用简单的方式..。
Fortran程序(可编辑代码)--链接-- Fortran DLL (不可编辑)(通过Fortran程序代码链接方法?)
我想要做一个程序,我不想显示我的代码(这部分将以DLL形式)。
例如:
我在intel fortran中有一个DLL代码,即
SUBROUTINE TWICE(x,y)
IMPLICIT NONE
!DEC$ ATTRIBUTES DLLEXPORT::TWICE
REAL, INTENT(IN) :: x
REAL, INTENT(OUT) :: y
y=2*x
END SUBROUTINE TWICE
现在我想在另一个程序中使用这个DLL。新的程序是单独的程序,我想使用这个DLL在英特尔fortran下面写的。
PROGRAM TestToCallDLL
IMPLICIT NONE
!DEC$ ATTRIBUTES DLLIMPORT::TWICE
REAL :: x,y
WRITE(*,*)'x?'
READ(*,*)x
CALL Twice(x,y)
WRITE(*,*)'x twice = ',y
END PROGRAM TestToCallDLL
错误是:
Error 1 error LNK2019: unresolved external symbol __imp__TWICE referenced in function _MAIN__ twiceTEST.obj
Error 2 fatal error LNK1120: 1 unresolved externals Debug\twiceTEST.exe
发布于 2017-03-13 07:18:19
编译器在创建.LIB
时生成的.DLL
文件必须在链接期间使用。将其作为依赖项添加。您还可以将其复制到新的项目目录中。
有关更多信息,请参见论坛中的使用Visual 2008从C++调用Fortran。
https://stackoverflow.com/questions/42696140
复制相似问题