如何将C ++连接到Matlab

时间:2018-09-05 15:21:31

标签: c++ matlab

我尝试在C ++(Win32)和MATLAB(win64)之间进行链接。我在VC ++目录下添加了路径,并在链接器>>输入下添加了“ libeng.lib libmx.lib libmex.lib libmat.lib”。 >。 但是我得到了错误:错误LNK2019:函数_main中引用了无法解析的外部符号_engOpen。​​

有解决这个问题的主意吗?

C ++代码:

#include <iostream>
#include "engine.h"
#include "mex.h"

#pragma comment (lib,"libmat.lib")
#pragma comment (lib,"libmx.lib")
#pragma comment (lib,"libmex.lib")
#pragma comment (lib,"libeng.lib")

using namespace std;


int main()
{

    Engine *m_pEngine;
    m_pEngine=engOpen("null");

    return 0;
}

1 个答案:

答案 0 :(得分:1)

首先要检查Matlab和C ++是否在相同版本(32位或64位)上运行。您可以使用Microsfot的以下信息将VC ++上的设置更改为在64位上运行:How to: Configure Visual C++ Projects to Target 64-Bit Platforms

对于与 libmx.dll相关的错误,请尝试以下操作:

  1. 该DLL位于MATLABROOT / bin / win32中。将此位置添加到 系统环境变量“路径”。
  2. 此错误也可能表明MATLAB安装目录中缺少文件“ libmx.dll”。如果安装了某些防病毒软件并且隔离了该文件,则可能会发生这种情况。要解决此问题,请打开防病毒软件并还原隔离的文件“ libmx.dll”。

希望这会有所帮助;干杯