我使用Windows 7 x64和Matlab R2012b x32和VS2010。
我想在C ++中调用名为add
的Matlab函数。所以我使用add.m
命令将mcc
转换为dll,并将其添加到我的项目中。但是在我尝试初始化dll后,我收到了一个错误。
int _tmain(int argc, _TCHAR* argv[])
{
if(!addInitialize())
cout<<"addInitialize fail!!!"<<endl;
return 0;
}
输出信息:
First-chance exception at 0x74c6c42d in MatlabTest.exe: Microsoft C++ exception: MathWorks::mcli18nutil::DeployedException at memory location 0x0029eff0..
The thread 'Win32 Thread' (0xc04) has exited with code 0 (0x0).
The program '[1100] MatlabTest.exe: Native' has exited with code 0 (0x0).
答案 0 :(得分:1)
因为我使用mcc
选项运行-C
命令,所以我需要在初始化dll之前将add.ctf
文件添加到dll存储的路径中。
我也可以在没有mcc
选项的情况下再次运行-C
命令来生成新的dll。并使用新的dll而不是旧的dll来解决这个问题。