0

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

我编译时使用: "cl -I"C:\Program Files\MATLAB\R2007b\extern\include" matlabdemo.c -link -dll -LIBPATH:"../lib/win64/microsoft/"labeng.lib"

提前致谢!

4

2 回答 2

0

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

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

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

于 2012-06-15T18:41:10.807 回答
0

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

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

编译.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"

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

set PATH=%MATLABROOT%\bin\win32;%PATH%
于 2012-06-15T20:24:14.197 回答