首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MEX编译C++文件

使用MEX编译C++文件
EN

Stack Overflow用户
提问于 2012-07-10 11:02:49
回答 1查看 3.4K关注 0票数 1

我想用MEX在MATLAB上编译C\C++文件。我先试了mex -setup,然后是mex xyz.cpp。但我还是会犯错误

E:\MATLAB~1\BIN\MEX.PL:错误:编译“xyz.cpp”失败。

键入此命令时

代码语言:javascript
复制
mex -v mexDiscreteFlow.cpp BPFlow.cpp Stochastic.cpp

我得到以下输出

这是mex,1984-2007年版权所有的MathWorks公司。 在C:\Users\abc\AppData\Roaming\MathWorks\MATLAB\R2008b中找到的->默认选项文件名 C:\Users\abc\AppData\Roaming\MathWorks\MATLAB\R2008b\mexopts.bat选项文件= -> MATLAB = E:\MATLAB~1 ->编译器= lcc ->编译器标志: COMPFLAGS = -c -Zp8 -I"E:\MATLAB~1\sys\lcc\include“-DMATLAB_MEX_FILE -noregistrylookup OPTIMFLAGS = -DNDEBUG DEBUGFLAGS = -g4 论据= 名称开关= -Fo ->预链接命令= ->链接器= lcclnk ->链接指令: LINKFLAGS = -tmpdir“-dll -L"E:\MATLAB~1\sys\lcc\lib”-libpath“E:\MATLAB~1\extern\lib\lib 32\lcc”"C:\USERS\abc\APPDATA\LOCAL\TEMP\MEX_JT~1\templib2.obj“” LINKDEBUGFLAGS LINKFLAGSPOST = libmx.lib libmex.lib libmat.lib 名称指令= -o "mexDiscreteFlow.mexw32“ 文件链接指令= 利布。链接指令= Rsp文件指示器=@ ->资源编译器= lrc -I“E:\MATLAB~1\sys\lcc\包括”-noregistrylookup -fo"mexversion.res“ -FoC:\USERS\abc\APPDATA\LOCAL\TEMP\MEX_JT~1\mexDiscreteFlow.obj资源链接器= -> lcc -c -Zp8 -I“E:\MATLAB~1\sys\ lcc \包括”-DMATLAB_MEX_FILE -noregistrylookup -IE:\MATLAB~1\extern\include -IE:\MATLAB~1\simulink\include -DNDEBUG -DMX_COMPAT_32 lcc预处理器错误:C:\USERS\abc\DOWNLO~1\发布C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\Image.h:7 C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp:3 \RELEASE\MEX\ImageProcessing.h:7找不到\RELEASE\MEX\ImageProcessing.h:7文件 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 7语法错误;找到<' expecting;‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 7跳过<' Error C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 7 syntax error; foundT‘期待;' Error C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 7 syntax error; found>‘期待;'Error C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 7 skipping>‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 8语法错误;找到*' expecting)‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 8跳过*'pBuffer‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 10未声明标识符pBuffer' Error C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11 undeclared identifier删除‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11非法表达式 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11语法错误;找到pBuffer' expecting]‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11类型错误:预期指针 警告C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11语句无效 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11语法错误;找到pBuffer' expecting;‘ 警告C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11语句无效 警告C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 11在定义前可能使用删除 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 15语法错误;找到<' expecting;‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 15跳过<' Error C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 15 syntax error; foundT‘期待;' Error C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 15 syntax error; found>‘期待;'Error C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 15 skipping>‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 16语法错误;找到*' expecting)‘ 错误C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\mexDiscreteFlow.cpp: C:\USERS\abc\DOWNLO~1\RELEASE\RELEASE\MEX\project.h: 16太多的错误E:\MATLAB~1\BIN\MEX.PL: E:\MATLAB~1\BIN\MEX.PL:mexDiscreteFlow.cpp的编译失败。 ???在213时使用==> mex时出错 无法成功完成。

有人能给我一些建议吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-30 01:16:44

lcc是Matlab附带的C编译器,但您正在尝试编译C++文件。您需要再次运行mex -setup并选择一个C++编译器(但是如果您还没有C++编译器,那么首先要得到一个C++编译器)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11411915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档