c++与matlab联合编程,调用Deploytool 生成exe文件和dll文件(转)
转自:http://www.cnblogs.com/xlw1219/archive/2012/12/25/2832222.html
首先必须知道联合编程需要知道的一些命令解释:
mcc 的作用是将 .m文件编译为 c/c++动态链接库文件,使你可以在 c/c++程序中使用 matlab的一些函数功能。mcc 也可以将.m文件编译为exe可执行文件。
mex 的作用是将 c/cpp文件编译为 .m 文件可以调用的库文件,在Windows操作系统里通常是以mexw32或mexw64为扩展名,让你可以使用 c/c++来扩展 matlab,即在matlab中调用C/C++编写函数的功能,达到增加新的功能或者加速原有程序的功能。
mbuild 的作用是将 matlab视为一个 c/c++编译器,使用mbuild可以将 c/c++编译为 exe可执行文件,特色在于可以调用 matlab的数学库和图形库,但这样需要使用 matlab提供的动态连接库才能运行。
注意:我之前输入mcc命令后,出现了Test checkout of feature 'Compiler' failed的问题,原因是matlab2014a没有破解,按照下面的链接解决:
http://blog.csdn.net/smilebluesky/article/details/42987985
--------------------------------------分割线-----------------------华丽转身-------------------------------
在做matlab和C++混合编程时要对系统进行设置。比如我要用deploytool生成c++的动态链接库(下面有图),必须先要运行mbuild -setup命令。
注意,我用的是matlab2014a,跟文中不同,具体的deploytool的编译过程如下:
命令行输入deploytool:选择 application compiler

然后,进入下面页面,在add main file里添加主要执行的.m文件,再在下面运行应用程序里添加辅助的.m文件,然后点击package,生成exe文件。

编译结束后,会生成三个文件夹:点击for_testing文件夹下的exe可执行文件,即可运行。


后面的工作就很简单了,新建个c++工程,把生成的ImageConvert.exe加到工程里,写上:

#include <windows.h>
int main()
{
system("ImageConvert.exe");
}
一次性运行通过。
c++与matlab联合编程,调用Deploytool 生成exe文件和dll文件(转)的更多相关文章
- 转 Visual C++6.0 与matlab联合编程(2)----Visual C++6.0 环境下编译和调试MEX文件
我的最初想法是利用matlab的mex命令调用C++程序生成动态链接库的,但是测试程序(文中另附)通过了,自己的实际应用程序却没有过.还是把方法贴在这儿,以便自己以后进行整理. http://shij ...
- 如何生成带注释的DLL文件
背景: 实际上并不是生成带有注释的DLL文件,而是同时生成一个XML文件,用来显示注释. 为什么要使用DLL文件,在C#编程的过程中,一直在使用DLL文件,如System.dll 方法: 1,创建类库 ...
- VS2017生成一个简单的DLL文件 和 LIB文件——C语言
下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件)和lib文件(静态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件(动态库文件) 生成动态库文件 姿势一 ...
- [转载] C# matlab联合编程简介
原作者 文月 主要操作说明: 1. 找到matlab安装目录下的MCRInstaller.exe安装 MCRInstaller.exe 在安装目录下的 ..\MATLAB7\toolbox\comp ...
- windows文本转语音 通过java 调用python 生成exe可执行文件一条龙
我已记不清 我失败过多少次 ,找过多少资料 ,但是功夫不负有心人 ,还是成功了. 所有资料和需要的语音模块的资料以放置在文章末尾, 有些是引用别人的博客的部分内容, 原文是在有道云笔记,所以没有图,请 ...
- python中使用ctypes调用MinGW生成的动态链接库(dll)
关于gcc编译dll的我就不说了,网上举例一大堆,下面以g++为例. 假设有一个test.cpp文件如下: extern "C" { __declspec(dllexport) d ...
- Qt使用自带的windeployqt 查找生成exe 必需的库文件
集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application 和 Qt Quick Application.下面分别介绍这两类exe ...
- vs2010 matlab混合编程调用matlab引擎
// matlab_engine.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include "engine.h" ...
- 如何使用记事本编程,并生成exe
1 新建一个txt文件,重命名为1.c 2 编程 3 打开VS2015 开发人员命令提示 4 找到1.c文件的位置,然后在VS2015 开发人员命令提示,输入cd 空格 位置,回车 cd C:\Use ...
随机推荐
- ConfigurationManager
ConfigurationManager读取和写入 提供对客户端应用程序配置文件的访问 通过引入System.Configuration.dll可以用ConfigurationManager类来读取项 ...
- json-lib使用——JSONObject与JSONArray
ps:看这篇博客之前首先要引入工具包json-lib-2.2.2-jdk15.jar 资源链接:百度云:链接:https://pan.baidu.com/s/1o9k7PSu 密码:00lj 一.从O ...
- nginx 学习笔记(5) nginx调试日志
为启动一个调试日志,nginx需要在构建时配置城支持调试模式. ./configure --with-debug ... 而且调试级别应该使用err_log指令来设置: err_log /path/t ...
- Linux内核编程规范与代码风格
source: https://www.kernel.org/doc/html/latest/process/coding-style.html translated by trav, travmym ...
- AOE网与AOV网
因为有人无端怀疑此博客为抄袭, 且作者写作此博客时仅为应试之用,今毕业已久此文章已无用处 故删除文章,不想再无故受到打扰 祝好
- [转]创建一个 Microsoft Outlook 扩展插件
本文转自:https://coyee.com/article/10625-how-to-create-an-add-in-for-microsoft-outlook 下载示例 1.介绍 Visual ...
- C#中Cookie,Session,Application的用法与区别?
1.Application 储存在服务端,没有时间限制,服务器关闭即销毁(前提是自己没写销毁方法) 2.Session 储存在服务端,客户端(浏览器)关闭即销毁(若长时间不使用 且 浏览器未关闭的情况 ...
- webAPP 图片上传
关于webAPP 手机上传 用的vue.js 首先是js代码 调用手机app 的 相册或者自己拍照 upload: function(index) { //上传 this.index = index ...
- Notepad++怎么使用正则替换
前言:工作中在oracle中写触发器的sql时,表字段有几十个,修改起来非常不方便,于是采用了Notepad++的替换 案例: 想把 v_update_time,v_create_time,v_rcv ...
- 委托,匿名方法,lamda快速理解
转载于用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树 这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实 ...