Matlab R2007b使用Engine实用程序解决了外部问题

时间:2012-06-15 18:29:39

标签: c matlab matlab-deployment unresolved-external matlab-engine

我正在尝试运行matlabdemo.c,它提供了matlab的大多数副本(我的是Matlab R2007b),尽管我努力工作,但当我尝试通过Visual Studio命令编译程序时,我仍然遇到“未解析的外部”错误提示。

我用以下代码编译:“cl -I”C:\ Program Files \ MATLAB \ R2007b \ extern \ include“matlabdemo.c -link -dll -LIBPATH:”../ lib / win64 / microsoft /“labeng.lib “

提前致谢!

2 个答案:

答案 0 :(得分:0)

您需要链接MATLAB Engine库。在Windows上,它们被称为libeng.dlllibmx.dll,它们位于MATLAB路径中的某个位置。或者,使用mex编译器脚本来构建Engine程序。以下是描述这两个选项的两个文档链接:

在IDE中编译引擎应用程序: http://www.mathworks.com/help/techdoc/matlab_external/bsru965.html

使用MEX命令编译引擎应用程序: http://www.mathworks.com/help/techdoc/matlab_external/bsq776w-1.html

答案 1 :(得分:0)

这是一个用于编译engdemo.c程序的示例批处理脚本。

显然你必须调整路径指向你的MATLAB安装(也正确选择32/64位版本)

的compile.bat

call vcvarsall.bat
set MATLABROOT=C:\Program Files\MATLAB\R2012a
cl.exe engdemo.c libeng.lib libmx.lib /Fe"engdemo" /I"%MATLABROOT%\extern\include" /link /libpath:"%MATLABROOT%\extern\lib\win32\microsoft"

运行它时,您可能需要将MATLAB bin目录放在路径上:

set PATH=%MATLABROOT%\bin\win32;%PATH%