VincentZhang92 发表于 2017-9-13 08:43:17

首先感谢taohe老师的分享,其次感谢google让我找到这里,下面分享一下我解决MFC下编译成功,但是libnameInitialize()返回为零的方法。
我用的是VS2010和matlab r2007b(不要问我为什么用这么旧的版本,我也很无奈啊)。
我开始也是先在MFC调用matlab dll,编译成功执行到libnameInitialize()返回为零。后来看到帖子里taohe老师说先用Console试一下,没想到竟然意外地找到了解决办法。
1.在Console下编译成功,此时在工程目录下会出现libname_mcr文件夹,里面有libname.ctf生成的文件。
2.将libname.dll、libname.ctf和libname_mcr这个文件夹全部拷贝到debug或者release文件夹下。
3.再次执行就会发现已经成功啦。

ps:之前自己也用16版的做过混编,那次编译失败的主要原因是在matlab 64位环境下生成的dll不能用在32位应用程序中。同样,matlab 32位环境生成的dll也不能用于64位应用程序中。

临时起意想要回复下就注册了账号,后续可能不会关注本帖,如果有疑问的童鞋可以加我QQ:286461333,互相交流下。

花开学仿真 发表于 2017-11-17 08:11:29

厉害了,水一波金币

小小飞人 发表于 2019-10-15 09:38:53

我有两个问题想咨询你一下。第一,支持向量机源代码在MATLAB里面具体那一块;第二,改写支持向量源代码用什么软件。我想改写核函数
页: 1 2 3 4 5 6 7 8 [9]
查看完整版本: 【原创】程序中使用MATLAB编译产生的DLL (VS2005, MATLAB7.5, mwArray)