我正在通过VS 2015与Intel Fortran构建一个dll。输出是一个带有一个子例程的dll文件(我确信这是导出的,因为我使用依赖工具检查了dll)。但是当我尝试在C项目中使用时,vc++说它不能读取dll和文件损坏(错误LINK1107)。
转换端代码为
subroutine ADD(x,y,z)
!DEC$ ATTRIBUTES DLLEXPORT, DECORATE, ALIAS : 'ADD' :: ADD
!DEC$ ATTRIBUTES REFERENCE :: x
!DEC$ ATTRIBUTES REFERENCE :: y
!DEC$ ATTRIBUTES REFERENCE :: z
integer x, y, z
z = x + y
end subroutine
不要在C项目中使用。dll文件-而是使用在构建dll时生成的导入库(.lib)