无法在c ++中初始化Matlab dll

时间:2015-05-15 10:20:12

标签: c++ matlab dll

我使用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).

1 个答案:

答案 0 :(得分:1)

因为我使用mcc选项运行-C命令,所以我需要在初始化dll之前将add.ctf文件添加到dll存储的路径中。

我也可以在没有mcc选项的情况下再次运行-C命令来生成新的dll。并使用新的dll而不是旧的dll来解决这个问题。