1.matlab的安装

连接:http://pan.baidu.com/s/1qXuF7aO

安装32位版本的matlab(在目录下bin文件夹中有两个文件夹,选择win32文件夹下的setup进行安装)

2.matlab mex编译器配置

安装完matlab之后,需要设定对应的c++编译器才能编译.m文件生成可供c++调用的库文件。打开matlab,在命令行输入:mex -setup,选择已安装的vc编译器

我的matlab版本是R2010b,选择的是[2] Microsoft Visual C++ 2008 Express,然后一直选择y直到看到Done

然后继续在命令行中输入:mbuild -setup  ,按照上述类似的方式设置编译器

假设存在一个Add.m的文件需要编译成库文件,

Add.m文件

function C=Add(A,B)

C=A+B;

end

使用命令编译:mcc -W cpplib:libAdd  -T link:lib Add.m

成功编译会在Add.m的路径下生成一些文件:

如果出现错误,可能是编译器配置错误,依次输入一下两行命令查看配置文件:

>> cd(prefdir)

>> edit compopts.bat

set VSINSTALLDIR=  这里如果是空值,需要将电脑中安装的VC路径写到这里

3.创建c++程序调用matlab函数

将前面生成的libAdd.dll"、"libAdd.h"和"libAdd.lib"三个文件拷贝到新建的vc工程中,并配置工程属性,添加matlab安装目录下extern中include文件夹,我的是D:\matlab\extern\include

然后配置库目录:

添加D:\matlab\extern\lib\win32\microsoft这里需要注意的是,该路径下有" mclmcrrt.lib"文件,是我们需要的。

最后配置link连接器,添加:

libeng.lib

libmat.lib

libmex.lib

libmx.lib

mclmcrrt.lib

mclmcr.lib

libAdd.lib(最后这一个是Add.m生成的)

下面的c++程序实现调用

结果:

最新文章

  1. .Net语言 APP开发平台——Smobiler学习日志:如何快速实现类似于微信的悬浮显示二维码效果
  2. C语言读取PE文件信息(一)
  3. MySQL查询今天/本周/上周/本月/上个月份的数据
  4. 谈谈Delph中的类和对象2---类可以理解成一种特殊的数据结构、类型转换
  5. ubuntu12.04 安装eclipse
  6. mysql 商品表的设计思路(面向对象建表:类与对象)
  7. [LeetCode]题解(python):061-Rotate list
  8. chart.js图表库案例赏析,饼图添加文字
  9. Codeforces Round #307 (Div. 2) A. GukiZ and Contest 水题
  10. Java Lock
  11. w3cschool关于list-style-position时的另外发现
  12. 常用的CSS属性
  13. DHCP租约时间工作原理
  14. MYSQL 巧用count,sum进行统计数据
  15. javamail发送二进制流附件的问题
  16. mysql寻呼最快
  17. async generator promise异步方案实际运用
  18. [Django高级]理解django中的中间件机制和执行顺序
  19. shell 脚本示例
  20. js函数的创建

热门文章

  1. poj-1131-(大数)八进制转化成十进制
  2. 网络通信 --> 互联网协议(二)
  3. ListView动态刷新adapter.notifyDataSetChanged()无反应
  4. Linux中SVN的备份与恢复
  5. drbd(一):简介和安装
  6. Java8学习(4)-Stream流
  7. Beta第七天
  8. socketpair创建双向通信的管道(全双工通信)
  9. OO第一次阶段性总结
  10. Python扩展模块——调用WindowsAPI(pywin32的简单使用)