关于MATLAB和C++或C的混编
这篇博客完全是作为积累用吧。。。
最近在学习CDBN(Convolutional Deep Belief Network),找到了它的MATLAB的toolbox,然后里面有.c的文件需要将它变成MATLAB可读的文件,也就是,将.c的文件通过以下步骤,变成.mexw64或是.mexw32类型的文件,让MATLAB可以调用.c或是.cpp类型的程序。
步骤如下:
1、在MATLAB的命令窗口输入 :mex -setup,出现下图所示证明设置完成。
2、打开对应版本的VS,建立一个新项目,然后,头文件 > 添加新建项 > helloword.cpp。
切记,要加头文件 #include <mex.h>。这时候,就会发现有错误出现。。。
出现问题的原因是VS的诸多头文件中不包含mex.h这个头文件,解决办法是:mex.h 藏在了MATLAB路径下中,我的是在
E:\Matlabn\extern\include下,找到了这个路径后,就回到VS中,打开 项目属性 > 配置属性 > C/C++ > 常规 > 附加包含目录,
将上述加黑的路径放到里面,就会发现,错误不见了。
3、回到MATLAB,将MATLAB默认路径改成.cpp放置的那个路径。
4、在MATLAB的命令行,输入 mex helloworld.cpp ,出现下图所示,就大功告成了。
5、然后,就可以在MATLAB中调用它了。