matlab mex undeclared identifier,compile error against MKL in Matlab mex C

Hi,

I am trying to compile a piece of code calling MKL into a matlab function. The code works great in VC++ in Windows XP sp3. So I wrote a mex wrapper for my code.

My MKL version is 10.0.5.025 and my compile script looks like this.

mex -v -I"D:\\Libs\\Intel\\MKL\\10.0.5.025\\include" quad_mkl.c D:\\Libs\\Intel\\MKL\\10.0.5.025\\ia32\\lib\\mkl_intel_c.lib D:\\Libs\\Intel\\MKL\\10.0.5.025\\ia32\\lib\\mkl_intel_thread.lib D:\\Libs\\Intel\\MKL\\10.0.5.025\\ia32\\lib\\mkl_core.lib D:\\Libs\\Intel\\MKL\\10.0.5.025\\ia32\\lib\\libguide40.lib

But the compiler (lcc) keeps complaining the following error message.

Did I do anything wrong somewhere? Thanks!

Warning H:\\Matlab\\hy\\mex\\quad_mkl.c: D:\\Libs\\Intel\\MKL\\10.0.5.025\\include\\mkl_vsl_functions.h: 299 empty declaration

...

Warning H:\\Matlab\\hy\\mex\\quad_mkl.c: D:\\Libs\\Intel\\MKL\\10.0.5.025\\include\\mkl_vsl_functions.h: 486 empty declaration

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 undeclared identifier `new'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 operands of = have illegal types `pointer to double' and `int'

Warning H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 possible usage of new before definition

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 syntax error; found `double' expecting `;'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 illegal statement termination

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 skipping `double' `['

Warning H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 Statement has no effect

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 syntax error; found `]' expecting `;'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 illegal statement termination

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 skipping `]'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 operands of = have illegal types `pointer to double' and `int'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 syntax error; found `double' expecting `;'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 illegal statement termination

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 skipping `double' `['

Warning H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 Statement has no effect

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 syntax error; found `]' expecting `;'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 illegal statement termination

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 36 skipping `]'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 37 operands of = have illegal types `pointer to double' and `int'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 37 syntax error; found `double' expecting `;'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 37 illegal statement termination

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 37 skipping `double' `['

Warning H:\\Matlab\\hy\\mex\\quad_mkl.c: 37 Statement has no effect

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 37 syntax error; found `]' expecting `;'

Error H:\\Matlab\\hy\\mex\\quad_mkl.c: 37 too many errors

C:\\MATLAB\\R2008A\\BIN\\MEX.PL: Error: Compile of 'quad_mkl.c' failed.

??? Error using ==> mex at 207

Unable to complete successfully.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值