0x7c812afd3处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012f134 处的 mwException
用vs2005调用matlab2010a生成的dll文件,vs2005是MFC形式,现在我改变了matlab的m文件,重新放进程序里,名字也是原来的名字,一运行程序就报错:
0x7c812afd3处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012f134 处的 mwException。
按照网上教的方法调用matlab的方法做了一个小程序没问题,不知道mfc是不是有特殊规定。
现在手里的这个程序是别人的程序,想要做一些改动,不知道步骤哪里出错了,请大家指导一下。下面是我按照的步骤:
1.在matlab中生成dll
在matlab的command 窗口键入:
>> mcc -B csharedlib:mrank mrank.m
在matlab7.0中执行上述命令后生成下面几个文件:
mrank.exp mrank.exports mrank.h mrank.lib mrank.c mrank.dll
首先配置vs的环境
1.工具——> 选项——>项目和解决方案——>VC++目录
(1) 选择“可执行文件”下拉框,添加:C:\Program Files\MATLAB\R2010a\bin\win32(注意:当前的Mathlab安装在C:\Program Files下面)
(2)选择“包含文件”下拉框,添加:C:\Program Files\MATLAB\R2010a\extern\include
(3)选择“引用文件”下拉框,添加:C:\Program Files\MATLAB\R2010a\extern\lib
(4)选择“库文件”下拉框,添加:C:\Program Files\MATLAB\R2010a\extern\lib\win32\microsoft
对于每一个工程,做下面的设置
项目——>属性——>连接器——>输入
选择:附加依赖项:添加:
libmex.lib
libmx.lib
libmat.lib
mclmcrrt.lib
将mrank.h mrank.lib mrank.dll拷贝到当前目录下
是不是缺少了什么步骤?