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

Unable initialize the Matlab dll in c++

本文关键字:初始化 Matlab dll c++      更新时间:2023-10-16

我使用Windows 7 x64与Matlab R2012b x32和VS2010。

我想在c++中调用一个名为add的Matlab函数。因此,我使用mcc命令将add.m转换为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).

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

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