什么是解决matlab R2012a与visual studio 2010的链接错误的方法

时间:2014-04-09 10:08:59

标签: c++ visual-studio-2010 32-bit matlab-engine

使用visual studio 2010和Matlab R2012a(32位)以及32位平台:

我想使用matlab引擎在c ++中调用matlab中的函数。 我在一个单独的解决方案中得到了matlab函数输出,它运行良好; 我在我的主项目中进行了相同的设置,例如设置额外的包含路径和其他库路径,还设置了链接器输入。 我也为操作系统设置了路径环境变量。 但它不起作用! 我的代码是:

double* P::FindingCameraPosition()
    {


          double Result[6];
          Engine *ep;
          if (!(ep = engOpen(""))) 
          {
            cout<<"Error in starting matlab engine!"<<endl; 
          }
          double *cresult; 

          mxArray *mresult; 
          mresult = mxCreateDoubleMatrix(1,1,mxREAL);

          engEvalString(ep , "z=Position()");
          mresult = engGetVariable(ep,"z");
          cresult = mxGetPr(mresult);

          for(int i = 0; i < 6; i++)
          {
              Result[i] = cresult[i];
          }
          engClose(ep);

          return Result;
    }

我看到了这些错误:

error LNK2001: unresolved external symbol _engClose
error LNK2001: unresolved external symbol _engEvalString
error LNK2001: unresolved external symbol _engGetVariable
error LNK2001: unresolved external symbol _engOpen
error LNK2001: unresolved external symbol _mxCreateDoubleMatrix_730
error LNK2001: unresolved external symbol _mxGetPr

我读过this但它根本没有帮助我; 所有遇到这些错误的人都错过了向链接器输入添加库的步骤;但是我把它放了几次并检查了一下;

为什么它作为一个单独的项目工作而不能在另一个解决方案中工作?我很困惑! 我在我的项目中使用openGL32。所以我猜使用opengl和matlab引擎相互之间没有相容性;

你能告诉我你以前尝试过的方法吗?

非常感谢你!

0 个答案:

没有答案