《How_to_use_Matlab_Engine_in_Visual_Studio.doc》由会员分享,可在线阅读,更多相关《How_to_use_Matlab_Engine_in_Visual_Studio.doc(8页珍藏版)》请在金锄头文库上搜索。
1、如何在C/C+语言里调用Matlab引擎(engine)(上篇)windows下的Visual C+平台Windows下调用Matlab引擎要做好以下三点设置(1) 设置头文件目录(2) 设置库文件目录,并添加链接库输入项libeng.lib和libmx.lib(3) 设置环境变量以下以Visual Studio 2008为例来说明如何设置这三点:1、添加头文件目录依次选择:“工具”-“选项”,调出对话框后再在对话框左边“选择项目和解决方案”-“VC+目录”然后在右边选择“显示以下内容的目录”下的选框选择“包含文件”,再在目录列表的最下边空行处选中添加:matlab安装目录下的externin
2、clude路径比如我的是:C:Program FilesMATLABR2011aexterninclude如果现在生成项目,链接将不会通过,比如可能会出现:1engwindemo.obj : error LNK2019: 无法解析的外部符号_mxDestroyArray,该符号在函数_WinMain16 中被引用1engwindemo.obj : error LNK2019: 无法解析的外部符号_mxGetPi,该符号在函数_WinMain16 中被引用1engwindemo.obj : error LNK2019: 无法解析的外部符号_engClose,该符号在函数_WinMain16 中被
3、引用1engwindemo.obj : error LNK2019: 无法解析的外部符号_engGetVariable,该符号在函数_WinMain16 中被引用1engwindemo.obj : error LNK2019: 无法解析的外部符号_engOutputBuffer,该符号在函数_WinMain16 中被引用1engwindemo.obj : error LNK2019: 无法解析的外部符号_engEvalString,该符号在函数_WinMain16 中被引用1engwindemo.obj : error LNK2019: 无法解析的外部符号_engPutVariable,该符号
4、在函数_WinMain16 中被引用等链接错误;这就需要设置下面的库文件目录2、添加库文件目录在刚才调出来的对话框中,设置库目录:选择“显示以下内容的目录”下的选框选择“库文件”添加matlab目录下的C:Program FilesMATLABR2011aexternlibwin32microsoft注意:如果是项目要生成的是64位程序那么应该选择的是C:Program FilesMATLABR2011aexternlibwin64microsoft点击确定退出对话框,然后给项目添加链接库输入项:在解决方案资源管理器里选择对应的项目单机右键选择最下面的“属性”弹出属性对话框,在右边依次选择“配
5、置属性”-“链接器”-“输入”,然后在右边“附加依赖项”那一项加上libeng.lib libmx.lib单击确定退出注意:(1) 不要删除原有的依赖项(2) 依赖项之间用空格隔开做到这一步时生成时就没问题出现了,但是运行程序时会出现“因为计算机中丢失libeng.dll”等类似问题第(3)步就解决这个问题的。(3)添加可执行文件目录设置系统环境变量:把C:Program FilesMATLABR2011abinwin32;添加到PATH里边(如果是64位系统则添加C:Program FilesMATLABR2011abinwin64)。在Win7下具体可以这样做:在桌面上选择“计算机”图标,右键弹出选单,在其中选择“属性”,然后在弹出的窗口中选中左边的高级系统设置,在属性对话框里选择“高级”选项卡,载选择“环境变量”,在新对话框里的系统环境下边找到PATH这一项选中,然后编辑,在后边添加C:Program FilesMATLABR2011abinwin32;64位系统选择C:Program FilesMATLABR2011abinwin64;注意:不要删除PATH里原有的其他路径如果设置环境变量前打开了visual studio ,那么需要重启visual studio。完成这三步,那么祝贺你,现在已经大功告成了!来看看C/C+程序调用matlab的效果吧!