VISUAL STUDIO 与 MATLAB实现混合编程
文章转自:https://www.cnblogs.com/luoqingyu/p/6396250.html
环境:
Win10
vs2010
Matlab2015
里面有很多选做的内容,其中2、3必做
1.Matlab环境设置:
(选做)我没有做这步,因为打mbuild -setup指令不识别,缺少SDK,但是可以正常调用Matlab,这步是其他方式调用Matlab中的一步,使用Matlab生成DLL文件,VS引用
要建立独立运行的C应用程序,系统中需要安装Matlab、Matlab编译器、C/C++编译器以及Matlab C/C++数学库函数和图形库函数。
Matlab编译器使用mbuild命令可以直接将C/C++源代码编译为独立运行程序,在这些源代码中可以使用Matlab提供的接口来调用Matlab数学库函数。
虽然生成的可执行程序可以脱离Matlab环境运行,但是它需要Matlab C/C++数学库文件或者图形库文件的支持才能运行。但如果C/C++源代码完全是按传统C/C++源代码语法规则编写,没有包含Matlab数学库和图形库的调用,则不仅可以独立与Matlab环境,也不需要那两个库函数的支持。
在 Matlab 的Command Window 下输入命令。
mbuild – setup
操作过程如下图:
然后输入命令
mex – setup
以类似的方法配置编译器。Matlab 的配置完成。
2.VS环境设置 (必做)
(1)设置Include 和Library 目录
项目右键->属性->VC++目录->包含目录:添加
<MATLAB>\R2010b\extern\include\win64 我的是:D:\RUANJIAN\Matlab\extern\include\win64
<MATLAB>\R2010b\extern\include\ 我的是:D:\RUANJIAN\Matlab\extern\include
项目右键->属性->VC++目录->库目录:添加
<MATLAB>\R2010b\extern\lib\win32\microsoft 我的是:D:\RUANJIAN\Matlab\extern\lib\win64\microsoft
<MATLAB>\R2010b\extern\lib\win64\microsoft
截图:
:
(2)设置工程目录: ( 我并没有设置)
项目右键->属性->C/C++->常规->附件包含目录:添加
<MATLAB>\R2010b\extern\include\win64
<MATLAB>\R2010b\extern\include\
项目右键->属性->链接器->常规:添加
<MATLAB>\R2010b\extern\lib\win32\microsoft
<MATLAB>\R2010b\extern\lib\win64\microsoft
项目右键->属性->链接器->输入->附件依赖性:添加 (必做)
libeng.lib
libmat.lib
libmex.lib
libmx.lib
注:1.lib文件包含在<MATLAB>\R2010b\extern\lib\win64\microsoft,可根据需要增减
2.附件依赖性在VS2010前以空格隔开,在VS2010后使用;隔开。
截图:
我的截图:
项目右键->属性->链接器->高级->目标计算机:更改(只针对64位WINDOWS) (选做)
MachineX86 -> MachineX64
注:分析原因为MATLAB根据计算机平台选择了X64编译环境,如此处不修改会出现 错误3
(3)配置管理器设置(只针对64位WINDOWS) (必做)
生成->配置管理器->平台:更改
Win32->X64
注:分析原因为配合链接器中目标计算机的修改,如此处不修改会出现 错误4
截图:
3.系统(Windows)环境设置 (必做)
我的电脑->属性->高级系统设置->高级->环境变量->Path,添加:
<MATLAB>\R2010b\bin;<MATLAB>\R2010b\extern\lib\win64\microsoft;<MATLAB>\bin\win64
注:1.Windows7的情况下,“用户变量”和“系统
变量”都需 添加,如不添加,运行时会出现 错误5
2.哈哈,别忘记重启哈,重启后生效
OK!配置就此结束,现在就开始engOpen吧!!对了,别忘记添加#include "engine.h"。
VISUAL STUDIO 与 MATLAB实现混合编程相关推荐
- 利用Matcom实现基于MATLAB的混合编程
利用Matcom实现基于MATLAB的混合编程 来源: 神经网络 作者:AI俱乐部 网友评论 0 条 浏览次数 42 <script> remark_look('re_look.php?c ...
- Matlab.NET混合编程调用Figure窗体
原文:[原创]Matlab.NET混合编程调用Figure窗体 1.前言 做Matlab.NET混合编程好几年了,虽然Matlab很多函数忘记得差不多了,但基本的东西还是能熟练使用.特别是在C#调用M ...
- qt web混合编程_基于Qt与MATLAB的混合编程技术
摘要:在Qt雷达仿真系统中,数据处理及图形显示尤为重要.本文为此提出了一种Qt与MATLAB混合编程的方法.通过VC++和MATLAB混合编程技术,将MATLAB函数封装成动态链接库,Qt调用这个动态 ...
- macbook如何使用visual studio code进行c语言编程
macbook如何使用visual studio code进行c语言编程 Mac用Visual Studio Code编写C/C++ 苹果电脑VS Code快速编写C/C++教程 最近打算重新学习c语 ...
- 在matlab中如何打开示例程序,visual studio 调用 matlab实例
续接上篇,本文将对如何通过visual studio调用matlab画图做出指导, 并给出实例. 代码部分: 首先在头文件补充engine #include"engine.h" 然 ...
- Linux可以用vs2019,使用visual studio 2019进行Linux系统编程
上篇说到一个简单模块如何直接在ubuntu下进行linux 模块驱动程序开发测试,这次讲如何用c操作模块? 使用visual studio 2019进行Linux系统编程 首先打开: 修改.安装Lin ...
- Matlab C++混合编程 在VisualStudio下的编程 使用了Opencv库
某工程上需要在matlab上使用c++版本的opencv,之前使用的是版本配置是matlab2018和vs2018,而现在使用的是matlab2016和vs2015,不同matlab版本的调用c++代 ...
- VS2012和matlab 2010b混合编程之环境配
VC调用matlab Matlab是一个强大的数学计算/仿真工具,其内置了很多实用的现成的函数,而且我们经常也自己定义很多m函数.但在很多情况下,我们不得不使用VC编程.那么,如何在VC中利用matl ...
- 基于引擎的matlab+vc混合编程的配置
前段时间在项目中做了一些关于基于引擎的vc+matlab混合编程的工作. 如果你是混合编程新手,我相信使用引擎的方式编程是比较简单快捷的一种方式. 当然这种方法也有其缺点,就是不能脱离matlab运行 ...
- matlab混合编程设置,matlab c++ 混合编程初始设置
以前做过matlab7与c++的混合编程:将m函数编译成dll给C++调用,从而加快开发的进度.但是今天在matlab2008b 下面又做了一遍,发现matlab又改了很多东西,诸如增加了面向对象的的 ...
最新文章
- linux php 编译 pdo,Linux 下 PHP 扩展 PDO 编译安装
- hdu 4493 Tutor 水题
- html中after伪类原理,css伪类before跟after原理与使用(原)
- Petrozavodsk Winter Camp, Day 8, 2014, Mosaic
- 2019/Province_C_C++_A/F/完全二叉树的权值
- c语言二叉树构造与输出,C语言数据结构树状输出二叉树,谁能给详细的解释一下...
- 【转】MyEclipse快捷键大全(绝对全)
- 泥塑课c语言,【C】泥塑课(From http://www.jisuanke.com/)
- 高德地图定位5.0以下
- cp: 略过目录XXXXXX
- xargs与cp结合使用
- background部分总结
- 九章算法班L6 Graph Search
- 常用连接Linux的SSH工具、SFTP工具
- SpringCloud-Learning -作者:翟永超
- 三菱plc pwm指令_【三菱PLC指令教程】步进指令STL和RET(单序列状态转移图编程)
- 进程ld-linux-x86-64是什么,解决挖矿病毒占用cpu以及误删 ld-linux-x86-64.so.2 文件的问题...
- Kubuntu中搜狗拼音输入法候选框乱码问题解决
- 《富爸爸穷爸爸》读书笔记
- 【问题解决】panic: qtls.ClientHelloInfo doesn‘t match goroutine 1 [running]: github.com/marten-seemann/qt
热门文章
- java中的this关键字详解(图示)
- 反射:集合泛型的本质
- redux-saga中间件的安装和使用-(三)
- 黑马vue实战项目-(七)订单管理页面的开发
- java流程语句_java流程控制语句总结
- sqoop导出solr数据_用Sqoop把数据从HDFS导入到MYSQL
- https 带端口_基于scapy模块的8种端口扫描
- mysql存储过程返回结果集_原来MySQL的存储过程也可以这么玩?
- mysql datetime默认时间_Mysql中datetime默认值问题
- 如何系统嗯学习计算机知识,老师,非科班出身的人该怎么系统的学习计算机知识呢?...