主题:求助如何让调用了商业库的Fortran程序在其它电脑上独立运行?
a4935
[专家分:0] 发布于 2012-11-21 20:26:00
我用Intel Visual Fortran写了一个动态库程序,想让它可以被其他软件调用。
我在编写该Fortran程序的时候,使用了Intel visual fortran自带的 Intel® Math Kernel Library,如此一来,我编写的这个动态链接库是不是就不能够脱离math kernel library 运行?是不是不能够在没有安装IVF和math kernel libray 的计算机上运行?
请问,我该如何解决这个问题呢?必须找到Math kernel library 的DLL文件,然后和我自己的DLL文件打包在一起吗?
谢谢!
回复列表 (共6个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2012-11-21 21:42:00
百度上也是你吧?
1.找到DLL一起打包就可以。
2.也可以改成静态调用,具体操作因版本不同而不同。
板凳
a4935 [专家分:0] 发布于 2012-11-22 08:48:00
雪球圣明,百度上的也是我。[em1]
我还是想采用静态库的方式调用Intel Math Kernel Libray,我再去找找看在哪儿设置。
谢谢啊。
3 楼
臭石头雪球 [专家分:23030] 发布于 2012-11-22 09:13:00
不是 IMSL 吗?怎么变成 MKL 了?这俩可不是同一个函数库
4 楼
a4935 [专家分:0] 发布于 2012-11-22 16:12:00
是的,我用的是Intel自己的MKL,而不是IMSL,MKL也包括了矩阵运算、最优化、拟合等函数。
5 楼
a4935 [专家分:0] 发布于 2012-11-22 16:14:00
我在想,调用这两个库的时候都会用到同样的问题吧?
6 楼
臭石头雪球 [专家分:23030] 发布于 2012-11-22 16:37:00
那可不一定。
你先说你怎么用的吧,完了再讨论怎么改。至少 IMSL 几个版本的用法都不完全相同。
其实用 Dependency Walker 查依赖的DLL,一起打包是最方便的了。
我来回复