2

我正在为 MATLAB(mex 文件)编写一个库。在开发时,我使用了 Visual Studio 2008 中的调试配置文件。在调试模式下一切都很好。MATLAB 正确执行我的库。

当我在 Visual Studio 中切换到发布模式时,MATLAB 无法加载我的库(名为 .mexw64 的 dll)。使用 Dependency Walker 我看到调试版本正在链接 MSVCR90D.dll (x64),但发布版本正在链接 MSVCR90.dll (x86)。

调试配置:/MDd 发布配置:/MD

有任何想法吗?

4

3 回答 3

2

是的。您没有在发布配置中将项目转换为 64 位。

于 2011-08-06T15:00:29.613 回答
1

我有同样的问题。使用依赖walker我发现它不是我的程序,它是使用Visual Studio 9编译的Oracle的oraocci11d.dll,所以它需要msvcr90d.dll。我刚刚下载了用VS 2010编译的库

于 2012-05-29T12:35:00.983 回答
0

您可能在某处有一个清单文件错误地指定了 libmsvcrt 的体系结构(如 x86)。

于 2011-08-06T15:40:20.813 回答