lhl135
2009-04-18, 21:29
各位大哥你们好, 我编写了一个 add.c 文件,非常简单。。。实现两个数相加。
但是用 mex add.c 来编译,却一直出错,请问是咋回事????非常感谢。。。。
出错的提示如下:
>> mex add.c
Specified export _mexFunction is not defined
Missing exports. Aborting
F:\PROGRA~1\MATLAB\R2006B\BIN\MEX.PL: Error: Link of 'add.mexw32' failed.
??? Error using ==> mex
Unable to complete successfully.
我的程序add.c如下:
#include "mex.h" // 使用MEX文件必须包含的头文件
// 执行具体工作的C函数
double add(double x, double y)
{
return x + y;
}
// MEX文件接口函数
void mexFunction(int nlhs,mxArray *plhs[], int nrhs,const mxArray *prhs[])
{
double *a;
double b, c;
plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
a = mxGetPr(plhs[0]);
b = *(mxGetPr(prhs[0]));
c = *(mxGetPr(prhs[1]));
*a = add(b, c);
}
但是用 mex add.c 来编译,却一直出错,请问是咋回事????非常感谢。。。。
出错的提示如下:
>> mex add.c
Specified export _mexFunction is not defined
Missing exports. Aborting
F:\PROGRA~1\MATLAB\R2006B\BIN\MEX.PL: Error: Link of 'add.mexw32' failed.
??? Error using ==> mex
Unable to complete successfully.
我的程序add.c如下:
#include "mex.h" // 使用MEX文件必须包含的头文件
// 执行具体工作的C函数
double add(double x, double y)
{
return x + y;
}
// MEX文件接口函数
void mexFunction(int nlhs,mxArray *plhs[], int nrhs,const mxArray *prhs[])
{
double *a;
double b, c;
plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
a = mxGetPr(plhs[0]);
b = *(mxGetPr(prhs[0]));
c = *(mxGetPr(prhs[1]));
*a = add(b, c);
}