回 帖 发 新 帖 刷新版面

主题:为何ivf编译的dll,放在没有装vs2005的电脑中调用失败? cvf就可以。

为何ivf编译的dll,放在没有装vs2005的电脑中调用失败? cvf编译的dll就可以。

以前cvf编译的dll,用depends工具查看相关连其他的dll,一起打包后放在其他没有环境的电脑中就可以使用。

现在用ivf编译的dll,用depends工具查看相关连其他的dll,一起打包后放在其他没有环境的电脑中就调用失败了。

回复列表 (共7个回复)

沙发


刚试了一下,结论是:

ivf编译的dll,必须是release出来的dll才可以在没有环境的电脑中调用,需要同时附上libifcoremd.dll,libmmd.dll这两个dll,如果使用了openmp,还需要libiomp5md.dll这个库。


cvf编译的dll,附上DFORRT.DLL就可以在没有环境的电脑中调用。debug和release的都可以。

奇怪的是,ivf中debug的dll,附上libifcoremdd.dll,libmmdd.dll这两个dll后还是不能被没有环境的电脑调用,但是可以被有环境的电脑调用。不知为何。

环境是指电脑中装了vs ivf。

板凳

那得看你编译时到底是
/MT 还是 /MD 编译的

3 楼


这个选项在哪里设置呢?

4 楼


我在ivf的dll工程的属性里,fortran,code generation,里没有runtimelibrary这一项啊。

5 楼

仔细检查所有界面显示出来的选项,再看看IVF的命令行。
最后,如果不是必要,最好不要用manifest。

6 楼


能否专门开个帖子说明下ivf编译时候应该使用什么设置,能产生多大性能提升效果?

以前都是用默认设置的。

7 楼

性能提升跟代码相关的. 不是开得越多优化越好.

我来回复

您尚未登录,请登录后再回复。点此登录或注册