VS2012调用Matlab2013a编译成的c文件

发布时间:2014-05-10 16:27:14   来源:文档文库   
字号:

. Matlab2013a生成c文件

1. 配置mexmbuild

配置之前先安装VS2012,在Matlabcommand window中输入mexsetup后,选择y,会出现选项,选择VC++ 2012,根据提示完成后续步骤:

后续的省略。

注:VS2012只能和Matlab2013a及以上版本兼容使用,不适合Matlab2012.

问题:mex setup后输入y不会出现选项,而是提示mex错误。本人在此处花了大量时间,最终搞定

本人是因为电脑中缺少一个SDK编译器,我先后装了VC6.0SDK7.0都没有成功,最后SDK7.1成功解决,这儿也要特别提示SDK7.1的安装步骤:

1SDK各个版本的含义: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补丁)

3SDK文件下载:在百度云中下载。本人安装的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文件,并给变量定义类型

4build生成mex文件,并且在matlab窗口中可以运行此文件或函数:

运行

5.生成c文件:

得到如下图所示的文件:

6VS中创建win32控制台应用程序:

选择空项目,完成。

7)新建“.c”文件,添加main函数:

添加代码,如上图所示,会出现许多无法识别的函数和文件

8matlab中生成的.c.h文件全部拷贝到该项目中,仍然没有变化,需要将他们添加到解决方案资源管理器中,这些错误就会消失。

代码中添加scan_f函数是为了在运行时让运行窗口停留,查看结果。

运行,成功!

本文来源:https://www.2haoxitong.net/k/doc/6c0cad695901020206409c1e.html

《VS2012调用Matlab2013a编译成的c文件.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式