2 weijifenhanshu weijifenhanshu 于 2015.07.17 15:25 提问

VS2010调用matlab生成的dll, 头文件里面只有对C_API,没有对CPP_API的声明? 30C

想要的是这种声明:extern LIB_mysvd_CPP_API void MW_CALL_CONV mysvd(int nargout, mwArray& s, mwArray& v, mwArray& d, const mwArray& a);

编译出来的是这种声明:extern LIB_mysvd_C_API void MW_CALL_CONV mlfMysvd(int nargout, mxArray** s, mxArray** v, mxArray** d, const mxArray* a);
ifdef __cplusplus

1个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.17 15:43

这种跨语言的接口,一般都是C接口才能通用,用C++接口,很多语言没法支持。

oyljerry
oyljerry 回复weijifenhanshu: 分享这个答案也不错啊
2 年多之前 回复
weijifenhanshu
weijifenhanshu 感谢你的回答,不过已经找到解决的办法了,只是matlab生成dll时的mcc命令不同生成的dll就不同,比如mcc -W lib:A -T link:lib a.m生成的就是C接口的,mcc -W cpplib:A -T link:lib a.m生成的就是C++接口的。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片