Qt 调用Fortran dll
2015-09-11 10:06
155 查看
最近在做毕业设计,按照老师的思路,直接调用Fortran函数,因此想直接利用Qt调用Fortran生成的dll。
遂将直接调用生成的dll,但是发现总是提醒"Cannot resolve symbol "add" in G:/Qt_PRO/Call_FortanDll/add.dll: 找不到指定的程序。"
利用IVF创建dll with Sample code 项目,在生成的代码中发现这么一句:
!DEC$ ATTRIBUTES DLLEXPORT::SP
百度之后发现,这句话对于Qt查找dll中函数提供一个接口,是必须添加的,否则便会出现上面提到的问题。Fortran 语言本身对大小写并不敏感,Qt或者C++是区分大小写的,但是Fortran编辑器默认导出函数全名为大写形式,因此在
!DEC$ ATTRIBUTES DLLEXPORT::SP,SP位置必须为大写,否则便会出现问题:
"Cannot resolve symbol "TestDll" in G:/Fortran/Marine/DLL/TestDll/TestDll/Debug/TestDll.dll: 找不到指定的程序。"
后续关于dll调用遇到的问题在添加。
参考原文:
http://www.cnblogs.com/xiaoyusmile/p/CPP%E8%B0%83%E7%94%A8Fortran%E7%A8%8B%E5%BA%8F_%E5%8A%A8%E6%80%81%E9%93%BE%E6%8E%A5%E6%96%B9%E5%BC%8F.html
http://blog.csdn.net/zhuce0001/article/details/20651025
http://www.cnblogs.com/potential/archive/2012/11/05/2755899.html
遂将直接调用生成的dll,但是发现总是提醒"Cannot resolve symbol "add" in G:/Qt_PRO/Call_FortanDll/add.dll: 找不到指定的程序。"
利用IVF创建dll with Sample code 项目,在生成的代码中发现这么一句:
!DEC$ ATTRIBUTES DLLEXPORT::SP
百度之后发现,这句话对于Qt查找dll中函数提供一个接口,是必须添加的,否则便会出现上面提到的问题。Fortran 语言本身对大小写并不敏感,Qt或者C++是区分大小写的,但是Fortran编辑器默认导出函数全名为大写形式,因此在
!DEC$ ATTRIBUTES DLLEXPORT::SP,SP位置必须为大写,否则便会出现问题:
"Cannot resolve symbol "TestDll" in G:/Fortran/Marine/DLL/TestDll/TestDll/Debug/TestDll.dll: 找不到指定的程序。"
后续关于dll调用遇到的问题在添加。
参考原文:
http://www.cnblogs.com/xiaoyusmile/p/CPP%E8%B0%83%E7%94%A8Fortran%E7%A8%8B%E5%BA%8F_%E5%8A%A8%E6%80%81%E9%93%BE%E6%8E%A5%E6%96%B9%E5%BC%8F.html
http://blog.csdn.net/zhuce0001/article/details/20651025
http://www.cnblogs.com/potential/archive/2012/11/05/2755899.html
相关文章推荐
- [Android]在代码里运行另一个程序的方法
- 房产界已上市和IPO路上的难兄难弟:房天下与房多多
- 利用百度地图提供的API做的应用
- 搜狗百度360市值齐跌:搜索引擎们陷入集体焦虑?
- fastjson处理接口时的一个问题
- 百度20年:搜索帝国的崛起、式微与重生
- 小白观察:Google 开始清除百度旗下公司开发的 46 款应用程序
- 降低项目失败率的三个原则
- DB2编程序技巧(1)
- DB2编程序技巧 (四)
- DB2编程序技巧 (六)
- DB2编程序技巧 (三)
- DB2编程序技巧 (九)
- DB2编程序技巧 (七)
- DB2编程序小小技巧
- DB2编程序技巧 (五)
- 局域网与广域网接口标准
- RJ-45接口信号定义
- DVI 视频接口图文解析
- 二级域名原理以及程序