Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从Matlab调用Cpp项目_C++_C_Matlab_Mex - Fatal编程技术网

C++ 从Matlab调用Cpp项目

C++ 从Matlab调用Cpp项目,c++,c,matlab,mex,C++,C,Matlab,Mex,我们有一个叫做FaceTracker的项目,它是用cpp编写的,我们需要从另一个用matlab编写的项目调用它。 我们已经成功地使用“mex”和“mexfunction”(用c编写)从matlab调用了单个函数。 当我们尝试调用完整项目时,添加了以下源文件: #include "mex.h" #include "FaceTracker.h" void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])

我们有一个叫做FaceTracker的项目,它是用cpp编写的,我们需要从另一个用matlab编写的项目调用它。 我们已经成功地使用“mex”和“mexfunction”(用c编写)从matlab调用了单个函数。 当我们尝试调用完整项目时,添加了以下源文件:

#include "mex.h"
#include "FaceTracker.h"

void mexFunction(int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[])
{
... // code
/* Call the "main" C++ subroutine. */
FaceTracker( buflen, input_buf);
}
并试图通过键入“mex mexFile.cpp”在matlab中编译它 但我们得到了以下错误:

`lcc预处理器错误:C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\stdafx.h:13 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\FaceTracker.h:4 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\mexFile.cpp:2找不到包含文件

lcc预处理器错误:C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\stdafx.h:14 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\FaceTracker.h:4 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\mexFile.cpp:2找不到包含文件“cv.h”

lcc预处理器错误:C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\stdafx.h:15 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\FaceTracker.h:4 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\mexFile.cpp:2找不到包含文件“highgui.h”

lcc预处理器错误:C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\stdafx.h:16 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\FaceTracker.h:4 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\mexFile.cpp:2找不到包含文件“cxcore.h”

lcc预处理器错误:C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\IO.h:42 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\PDM.h:42 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\CLM.h:42 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInterfaces\FaceTracker\FaceTracker\Tracker.h:42 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\FaceTracker.h:5 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\mexFile.cpp:2找不到包含文件“cv.h”

lcc预处理器错误:C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInterfaces\FaceTracker\FaceTracker\IO.h:44 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\PDM.h:42 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\CLM.h:42 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInterfaces\FaceTracker\FaceTracker\Tracker.h:42 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\FaceTracker.h:5 C:\Users\hodhod\Documents\Jam3a\PROJECT-2012\FindSymetryInFaces\FaceTracker\FaceTracker\mexFile.cpp:2找不到包含文件“%>Blockquote”

如何修复这些错误?
提前感谢。

您必须使用
-I
选项指定mex编译函数所需的所有包含路径,请参阅
帮助mex。
以下是一个示例:

 mex -v -g -IC:\Users\hodhod\Documents\Jam3a\PROJECT-2012!!\FindSymetryInFaces\FaceTracker\FaceTracker\SomeMissingIncludes mexFile.cpp

opencv安装是否正确?@tr9sh。对我们成功地调试了一个“helloWorld”文件,并从matlab编译了一个“C”文件?