Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-13
年龄: 42
帖子: 1
声望力: 0 ![]() |
![]()
各位大哥你们好, 我编写了一个 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); } |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-06-20
帖子: 2
声望力: 0 ![]() |
![]()
我试了一下,一开始是没有问题的生成mex.dll,可后来就有了
![]() |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-06-20
帖子: 2
声望力: 0 ![]() |
![]()
你程序里面加入汉字了,所以不可以,把汉字去掉就可以了 啊
|
![]() |
![]() |