用matlab调用vs2015来编译vs工程

一、背景:

在测试仿真模型的时候需要自动化批量测试。而模型的输入是一个加密的任务文件。这个文件是大佬用cpp写的,需要用vs编译。

二、目的:

因此我想要实现的功能就是:

  1. 用matlab脚本设置不同任务信息,自动生成不同的cpp程序。
  2. 调用vs编译,生成加密的任务文件
  3. 调用simulink运行模型,仿真任务执行情况
  4. 对比任务执行情况和m脚本设置时预计的情况

这样就可以在matlab环境下实现全流程仿真测试。

三、实现

基本实现思路是用matlab脚本中用dos命令实现对vs的调用。
(这种方法其实可以实现对所有软件的调用)

3.1. 配置环境

首先需要添加环境变量,把需要的头文件include和库文件lib加进去

新建一个变量,名为include(不区分大小写),然后变量值有如下两个:

D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include

类似地,新建一个变量,名为lib(不区分大小写),然后变量值有如下两个:

D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib

其他的如果有必要,就也加上:
在include下添加:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt

在lib下添加:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x86

为了能在命令行使用devenv命令,还需要在path下添加:

D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
D:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE

3.2. 自动编译的dos命令

添加完这些环境之后,如果想编译普通的cpp程序,可以在命令行使用命令:
cl xxx_main.cpp

但是编译工程还是不行,需要用到下面的命令:

devenv "TestProg.sln" /Rebuild Debug /project "xxx\TestProg.vcxproj"

会编译出可执行程序,然后再运行可执行程序即可

3.3. matlab脚本

这部分值得展开的,
需要注意的是,如果想在某个目录下执行什么dos命令
需要直接cd(‘xxxx’)进去。
而不能 dos(‘cd xxxxxx’)

把上面在命令行执行的命令,在matlab脚本里用dos调用即可
如:

dos('devenv "TestProg.sln" /Rebuild Debug /project "xxx\TestProg.vcxproj"')

用matlab调用vs2015来编译vs工程相关推荐

  1. VS2015打开编译VS2013工程时提示fatal error C1083: 无法打开包括文件: “afxwin.h”: No such file or directory

    VS2015打开并编译VS2013工程时,显示fatal error C1083: 无法打开包括文件: "afxwin.h": No such file or directory ...

  2. matlab2014调用vs2015进行混合编译生成mex文件

    一.matlab调用vs2015进行混合编译的mex文件 matlab的版本要到2015b才支持vs2015,当然如果你的matlab版本是2014,不想重装matlab2015也行,需要替换其mex ...

  3. matlab 调用c++编译好的文件出现问题

    sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found matlab 调用c++编译好的文件出现问题 https://blo ...

  4. VS2015平台编译mini-caffe

    并且配置好了依赖.直接按照官网的步骤即可按照,只需把vs 2013 的cmake 选项换成vs 2017 即可. ssd demo: 代码mini caffe自带的有,下面有opencv调用代码和模型 ...

  5. matlab dll没有头文件,matlab调用dll没有头文件怎么办

    2018-12-08 回答 基于dll形式vc调用matlab函数方法 如果在一matlab中或vc中写好了函数的话,想在对方的环境中使用,直接将对方语言的函数编译成dll是一个很方便的方法,不需要重 ...

  6. matlab安装第三方库,Matlab调用cpp+第三方库

    问题描述:Matlab调用CPP不新鲜,无非就是把写好的c语言编译成mex,然后直接调用呗.很多帖子和书都有描述.具体可以参考附录.这里描述的是如何用Matlab调用Opencv库支持的函数.解决方法 ...

  7. c++引用matlab类,matlab调用C++函数浅谈(一)

    由于在下才疏学浅,在网上看各高手指南时亦觉云里雾里,遂决定一切说明从最基础说起,一是方便自己(记性奇差),二是方便似我的小白.以下部分是我从各网站论坛等摘抄.重组.改写过的,以求更加详实明朗,由于参考 ...

  8. matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题

    本帖最后由 gouliang 于 2019-12-23 09:37 编辑 主程序: clc;clear import java.awt.Robot import java.awt.event.* ke ...

  9. matlab 调用opencv,matlab调用opencv (mac 或 linux)

    思路为利用mexopencv编译opencv为mex,然后让MATLAB调用. 方法1 (仅适用于mac) 利用homebrew下载opencv3. $ brew install pkg-config ...

最新文章

  1. Effective C++学习笔记(Part Five:Item 26-31)
  2. 2008铁路旅客列车时刻表_天津到新沂汽车卧铺大巴车长途汽车发车时刻表
  3. java自定义分页标签_自定义分页标签--仿javaeye分页效果
  4. 为什么多个线程不可能同时抢到一把锁_HFL Redis_12_redis分布式锁的3种实现方式...
  5. Linux各发行版本 优缺点 简介
  6. 当select查询为空
  7. 让一个数字显示指定位数
  8. 《Arduino实战》——2.5 小结
  9. Windows 10 份额突破 40%,Windows 7 连跌四月终回升
  10. ARP病毒攻击技术分析与防御
  11. 计算机实验室建设论证报告,计算机实验室实习报告-报告.doc
  12. 安装wordpress时Error establishing a database connection
  13. Centos7快速搭建服务器加速
  14. educoder:第3关:嵌套循环 - 跃迁能量表
  15. 通达信破底翻选股公式,用缠论底分型进行优化
  16. 最值得期待的 5 个新特性解析JavaScript ES2021
  17. 《当下即是生活》季羡林——读书笔记
  18. Tkinter 莫烦 基础
  19. pythonnet调用python tsne算法
  20. VS2012中“工具>选项中的VC++目录编辑功能已被否决”解决方法

热门文章

  1. qt下使用opencv读取视频
  2. Macbook air m1安装python/anaconda全过程
  3. navicat永久使用权
  4. 计算机一级有很多套吗,计算机一级考试有(答案的10套题).doc
  5. 不安装oracle数据库客户端,使用sqlplus
  6. CentOS 7 在线安装docker及问题处理(一)
  7. 一元二次方程c语言代码题目,C语言考试练习题_一元二次方程 (C++代码)
  8. DotA_Allstars_v6.61b_AI_PA3_CN_简易汉化版
  9. 淘宝兼职刷信誉之骗局解密
  10. 赤色要塞java下载_赤色要塞[NES(FC)]