Matlab作为矩阵实验室,在算法设计上具有显著的优越性,然而在Matlab平台上编写的算法不能直接应用在C语言中。混合编程提供了二者的接口,加速了程序开发速度。下面介绍Matlab 与 VS2012 混合编程方法。

1. 打开Matlab,设置编译器:

输入 "mex -setup" 在命令窗口输出中 选择合适的编译器,本文中选择VS2012.

2. 输入“deploytool”,在随后弹出的窗口中选择“library compiler”, matlab启动dll生成程序。在程序界面中选择“+”号,输入.m文件,点击‘package’,打包生成dll文件。

3. 为VS正常调用dll文件设置环境变量

在环境变量设置界面“path”中增加以下内容:

C:\Program Files\MATLAB\R2016b\runtime\win64;

C:\Program Files\MATLAB\R2016b\extern\lib\win64\microsoft;

C:\Program Files\MATLAB\R20156b\bin\win64

4. 将VS编译方式设置为Release X64模式并为VS 增加包含文件和库

在VC++ 目录中 包含文件添加“Matlab安装目录\extern\include;

库文件添加

Matlab安装目录\extern\include\lib\win64\microsoft;

链接器接入中 写入以下内容:

libmat.lib

libmex.lib

mclmcr.lib

mclmcrrt.lib

libemlrt.lib

libeng.lib

libfixedpoint.lib

libcovrt.lib 5. 新建VS工程,将2中生成的 .dll 文件,h 文件, .lib 文件复制到工程目录下.

6. 测试源码

#include "stdafx.h"   #include   #include   #include "mclmcr.h"   #include "matrix.h"   #include "mclcppclass.h"   #include "ImageRead.h"   using namespace std;   #pragma comment(lib,"ImageRead.lib")       int _tmain(int argc,_TCHAR* argv[])   {       char filename[] = "G:\\VS\\2_6\\ConsoleApplication1\\ConsoleApplication1\\lena.jpg";     if(!ImageReadInitialize())    //初始化       {           printf("Could not initialize addfunction!");           exit(0);       }       printf("OK!");   mxArray *t=NULL; t = mxCreateString(filename);     mlfImageRead(t); Sleep(5000);     ImageReadTerminate();       return 0;   }

matlab2016 dll,VS2012Matlab2016b dll文件混合编相关推荐

  1. 计算机中丢失vcomp140.dll,Vcomp140.dll文件

    Vcomp140.dll文件官方版是电脑系统中十分重要的一款系统文件.如果你的电脑中出现了"找不到vcomp140.dll 14.16.27012.6"或"vcomp14 ...

  2. .h头文件 .lib库文件 .dll动态库文件之间的关系

     .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和li ...

  3. Gh0st源码学习(三)生成DLL和DAT文件

    从生成的EXE文件中分离出DLL和DAT 文件 一.自定义DLL和DAT文件的生成路径 先搜索 IDR_BSS . IDR_DLL   1. IDR_DLL   位置:\Gh0st3.6原版\Serv ...

  4. c++中.dll与.lib文件的生成与使用的详解

    c++中.dll与.lib文件的生成与使用的详解 --------------------------------------------------------------------------- ...

  5. 怎么创建dllwenjian_如何创建和使用dll及lib文件

    Abstract 如何在VC9环境下创建和使用dll及lib文件,但不用MFC. 一.创建dll 参见文章[zz]lib和dll文件的区别和联系.用方法一,在VC9下测试通过. 创建一个Dynamic ...

  6. .dll与.lib文件的区别

    文章转载于https://www.cnblogs.com/zkwarrior/p/10948174.html 共有两种库: 一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由 ...

  7. c++:dll缺少依赖文件的解决方法

    c++:dll缺少依赖文件的解决方法 在A电脑上编译的dll可以在A运行,但是到B就不能运行了, 多数情况下是因为dll依赖于一些文件,这些文件存在于A,但是不存在于B. 所以我们需要在A上找到dll ...

  8. vs:dll缺少依赖文件的解决方法

    在运行程序时,一直出现dll缺少依赖文件的问题,解决方法: 把自己opencv文件目录下的\opencv\build\x64\vc15\bin中的三个dll文件,拷贝到C:\Windows\Syste ...

  9. Dll (.a)(.def)文件之间的转换

    1. dll生成.def文件 一般安装完VS后可以搜索dumpbin.exe,拷贝到你的dll文件夹下, 执行命令行:dumpbin.exe /exports ***.dll > ***.def ...

  10. 海康摄像头二次开发动态配置.dll与.so文件

    需求 再对海康摄像头进行二次开发时,需要将海康提供的.dll(window)文件或.so(linux)文件通过路径的方式进行配置,项目在window上开发.在linux上进行部署,另一方面在linux ...

最新文章

  1. [转载]WPF窗口跳转及window和page区别
  2. oracle dg状态查询,oracle dg状态检查及相关命令
  3. shell的输入和输出
  4. ORM数据层框架的设计热点:更新指定的列的几种设计方案
  5. TCP/IP详解学习笔记(2)-数据链路层
  6. Android弹出Dialog使用举例
  7. Android 驱动(10)----设备树(二)linux内核顶层am335x-evm.dts
  8. ubuntu 开启ssh
  9. Shine.js实现动态阴影效果
  10. Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法Windows版(手贱强制重启电脑的后果)...
  11. python的下划线
  12. 将整个网站页面变成黑白色
  13. Fiddler4抓包工具使用教程
  14. Web前端开发-网页制作零基础入门-Dreamweaver2019+HTML+CSS视频教程
  15. 2019年计算机一级考试pdf,2019年计算机一级考试试题及答案.pdf
  16. 格式工厂高清视频转换参数设置
  17. android 验证手机、邮箱格式
  18. Android Bluetooth架构
  19. 需要一张可视化三维地图?这样炫酷的3D全景地图,你也可以拥有
  20. 支付宝之小鸡拍球游戏(C++)

热门文章

  1. 初识Web与HTML
  2. 解析机器人视觉系统的神奇之处
  3. JAVA-输出一个三角形(详解)
  4. java实现微信公众号token验证
  5. 透彻的掌握 Spring 中@transactional 的使用
  6. Python学习笔记-系统性能信息模块psutil
  7. 解析服务器消息失败原因,dns域名解析失败的原因是什么?如何解决?
  8. 修改weblogic服务器ip地址,修改weblogic服务器ip地址
  9. No suitable context info for active keying set问题(已解决)
  10. CSS卡贴悬停展开效果