Matlab编译和运行.cpp

来源:互联网 发布:php配置环境 编辑:程序博客网 时间:2024/06/07 06:41

出发点:将算法中的循环部分扔给C,加快matlab代码的运行速度。

主要步骤是:1.matlab中设置编译器 —— 2.编写cpp代码 —— 3.matlab中编译.cpp —— 4.调用编译好的函数

本人平台:win7x64,matlab 2012a,vs2012。在进行第1、3步时均出现异常情况,以下是解决方法:

设置编译器

mex -setup

异常:找不到编译器。

分析:matlab 2012a 不支持vs2012以上的版本,在“MATLAB\R2012a\bin\win64\mbuildopts”中可以查看matlab支持的版本,2012a最多支持到VC10.0。

解决方法:参考网友wiills的帖子:点击打开链接,可以为matlab添加对VC11.0的支持。

编译.cpp

mex test.cpp

异常:LINK : fatal error LNK1181: 无法打开输入文件“kernel32.lib”;

分析:缺少Windows SDK,据说VS会附带安装,但是我的没有。

解决方法:安装windows SDK 7.0,然后mex -setup会出现sdk的选项,选择并编译。

 

为了方便没有账号或积分的朋友,我把相应的教程和工具共享到这里:点击打开链接,请wiills多多见谅!伸手党请将以下点击打开链接文件直接复制到MATLAB\R2012a\bin\win64目录下

 

1 0