VS2012Matlab2016b dll文件混合编
来源:互联网 发布:淘宝装修海报放在 编辑:程序博客网 时间:2024/05/22 11:49
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 <stdio.h>
#include <iostream>
#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;
}
#include <stdio.h>
#include <iostream>
#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;
}
1 0
- VS2012Matlab2016b dll文件混合编
- .cs编译成DLL文件
- .cs编译成DLL文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 把CS文件编译成dll文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 把aspx文件编译成DLL文件
- 将Js文件编译成dll文件
- 将.CS文件编译成.dll文件
- 将javascript文件编译成dll文件
- 把aspx文件编译成DLL文件
- 文章标题
- Qt之正则表达式QRegExp
- PAT BASIC LEVEL 1041. 考试座位号(15)
- 【DP】17.2.7 T2 隔离村庄 题解
- Android之史上最全最简单最有用的第三方开源库收集整理
- VS2012Matlab2016b dll文件混合编
- 阿里巴巴 JAVA 开发手册(网络摘取)
- Cocos2dx开发之一 开发环境搭建
- Java继承
- 数学黑洞 --递归
- Mybatis学习总结(四).Mapper映射文件
- Oracle之函数
- 01改变世界:没有计算器的日子怎么过——手动时期的计算工具
- Android Data Binding Library 官方文档(译)