我正在尝试运行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 “
提前致谢!
答案 0 :(得分:0)
您需要链接MATLAB Engine库。在Windows上,它们被称为libeng.dll
和libmx.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位版本)
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%