我正在为 Windows 64 使用 gfortran 编译器(在 Simply Fortran 下),在创建基本的 fortran dll 进行测试时,我无法在 VBA 下运行它,然后出现运行时错误 48:找不到 dll。
这是我的 fortran 子程序代码:
subroutine multiply(x, y, z)
!DEC$ ATTRIBUTES DLLEXPORT :: multiply
!DEC$ ATTRIBUTES ALIAS : "multiply" :: multiply
real, intent(in):: x, y
real, intent(out):: z
z = x * y
end subroutine multiply
我创建库键入:gfortran -shared -omultiply.dll multiply.f90 这个库位于“C:\Users\Olivier\Documents\Fortran\”
和我的 VBA 代码(我正在使用 VBA 7.0):
Declare Sub multiply Lib "C:\Users\Olivier\Documents\Fortran\multiply.dll" (x As Single, y As Single, ByRef z As Single)
Sub test()
Dim x As Single
Dim y As Single
Dim z As Single
x = 2
y = 3
Call multiply(x, y, z)
Cells(1, 1) = z
End Sub
运行此 VBA 代码时,它说找不到 multiply.dll 而此文件位于声明中提到的正确文件中,如果有人可以帮忙,请!
先感谢您