前言
项目算法中包含了不同编译工具的代码,分别是matlab和VS,需要将二者结合起来,统一在同一个系统工作,此时就要用到matlab和vs混合编程。
在matlab中将.m文件编译生成库文件等供外部的vs程序调用,实现混合编程。
实现步骤
1.matlab中算法代码编译生成库文件、头文件等;
2.创建并配置VS工程;
3.安装配置MCR方便软件移植;
实现环境
matlab版本:matlab2015a
vs版本:vs2013
PC系统:win7_x64
实现过程
1.matlab中算法代码编译生成库文件、头文件等;
1)在matlab写一个测试代码(一般是系统算法对应matlab函数);
function [sum, prod] = sum_prod(p1, p2)
sum = p1+p2;
prod = p1.*p2;
end
2)生成库文件、头文件等;
方法有两种,一种是使用matlab命令行,一种是使用matlab菜单栏工具。本文使用的是第二种方法。
方法一:
(1)在命令行输入命令!mcc查看是否带有mcc编译器;
(2)命令窗口输入mbuild -setup选择要使用的c++编译器,本文选择的是mex -setup C++ -client MBUILD 编译器;
(3)命令窗口输入deploytool命令,剩余步骤参考方法二;
方法二:
(1)matlab命令行输入deploytool即可;
(2)输入deploytool命令之后出现以下对话框,选择Library Compil