PDA

查看完整版本 : [MATLAB混合编程] 使用mex,编译出错,请各位高手指点一下。。。


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);

}

月玮玮
2009-06-22, 14:04
我试了一下,一开始是没有问题的生成mex.dll,可后来就有了:(,我也不知道为什么,我也刚学啊

月玮玮
2009-06-22, 15:27
你程序里面加入汉字了,所以不可以,把汉字去掉就可以了 啊