一. Matlab2013a生成c文件
1. 配置mex和mbuild
配置之前先安装VS2012,在Matlab的command window中输入mex–setup后,选择y,会出现选项,选择VC++ 2012,根据提示完成后续步骤:
后续的省略。
注:VS2012只能和Matlab2013a及以上版本兼容使用,不适合Matlab2012.
大问题:mex –setup后输入y不会出现选项,而是提示mex错误。本人在此处花了大量时间,最终搞定!
本人是因为电脑中缺少一个SDK编译器,我先后装了VC6.0和SDK7.0都没有成功,最后SDK7.1成功解决,这儿也要特别提示SDK7.1的安装步骤:
(1)SDK各个版本的含义:http://blog.csdn.net/laiqun_ai/article/details/11758417
(2)安装前先卸载几个工具:http://blog.sina.com.cn/s/blog_40481649010106nt.html(特别重要,一定要卸载:Microsoft Visual C++ 2010 x86 Redistributable - 10.0.30319以上的版本, 10.0.30319不需要卸载,装完SDK7.1后需要安装VC-Compiler-KB2519277补丁)
(3)SDK文件下载:在百度云中下载。本人安装的amd64位的有570M左右。
2. 生成c文件
http://blog.csdn.net/adream307/article/details/7704369
根据步骤走一般不会出现什么问题的。
二. VS2012运行Matlab编译生成的c文件
(网站同上)http://blog.csdn.net/adream307/article/details/7704369
注意:新建项目时选择空项目,然后自己新建后缀为“.c”的文件
在编译时会出现一些无法读取文件的错误选项,需要手动添加
具体步骤:
1).新建Matlab文件,命名:addtest.m
2).在Matlab命令窗口中输入:coder,出来的窗口中修改路径和名称,确定;
3).在出现的窗口中添加m文件,并给变量定义类型
4)build生成mex文件,并且在matlab窗口中可以运行此文件或函数:
运行
5).生成c文件:
得到如下图所示的文件:
6)VS中创建win32控制台应用程序:
选择空项目,完成。
7)新建“.c”文件,添加main函数:
添加代码,如上图所示,会出现许多无法识别的函数和文件
8)将matlab中生成的.c和.h文件全部拷贝到该项目中,仍然没有变化,需要将他们添加到解决方案资源管理器中,这些错误就会消失。
代码中添加scan_f函数是为了在运行时让运行窗口停留,查看结果。
运行,成功!
本文来源:https://www.2haoxitong.net/k/doc/6c0cad695901020206409c1e.html
文档为doc格式