Matlab2016a与VS2012混合编程

Matlab是一款功能强大得仿真软件,要想将其用得更加广泛,或者用到VS中那就需要一种特殊的方法,下面将自己实践的方法一一叙述,当然前提你的电脑要有这两款软件。好了,直接进入主题。

第一步:配置系统环境变量

计算机——>系统属性——>高级系统设置——>环境变量

将内容设置为如图所示:你的Matlab安装路径\bin\win64

                     

第二步:配置matlab环境

打开matlab,在命令行状态下键入:mex -setup(x和-之间必须有空格,即setup变成紫色) 
然后出现如下提示:


以上便将你的matlab设置成为C/C++环境,弹出如上图,说明matlab支持VS2012,可以进行混合编程。

开始实现混合编程:

Matlab:

在工作空间中输入:deploytool,弹出compile窗口,选择Library Compiler;


选择Library Compiler弹出如下窗口,选择C++ shared Libary,再点击下图加号添加写好的matlab的函数文件(可以写一个简单的加法函数,如果不会写请百度)。


完成后点击绿色的勾,耐心等待转换结束,如下图:


转化好的文件夹内容如下图:


我们所需要的文件在for_redistribution_files_only中,其为.h;.dll;.lib这三个文件。

第三步:配置VS环境变量

首先建立一个VS C++工程 ,选择Visual C++中的win32控制台应用程序,选择你自己想存放的文件路径和自己想要设置的文件名


如此工程建立结束。将matlab生成的for_redistribution_files_only中,其为.h;.dll;.lib文件添加到所建立的VS工程中,我建立的工程名叫AD(我自己乱打的),点开建立的工程后有如下所示的文件夹,将其放到与工程同名的AD文件夹中即可。


下面配置开始配置VS:

首先看你的电脑是32位还是64位,改变属性中的内容,我的电脑和matlab都是64位的所以选择x64,如图所示:这一步很关键


将属性页中VC++目录中的包含目录设置为:你的matlab安装目录\extern\include

将属性页中VC++目录中的库目录设置为:你的matlab安装目录\exter\lib\win64\microsoft

具体如下图所示:

在设置属性页中——>连接——>输入——>附加依赖项      在其中添加一下内容

libeng.lib
libmat.lib
libmex.lib
libmx.lib
mclmcrrt.lib
mclmcr.lib
dec.lib  //这个是你MATLAB所写函数生成的.lib名字

至此结束所有设置。

附上VS中代码:

// AD.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include "dec.h"
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
if (!decInitialize())
    {
        return -1;
    }
    int a = 20, b = 10;     // double a = 20.0, b = 10.0;
    int c;                  // double c;
    mwArray mwA(1, 1, mxINT32_CLASS);       // mwArray mwA(1, 1, mxDOUBLE_CLASS);
    mwArray mwB(1, 1, mxINT32_CLASS);       // mwArray mwA(1, 1, mxDOUBLE_CLASS);
    mwArray mwC(1, 1, mxINT32_CLASS);       // mwArray mwA(1, 1, mxDOUBLE_CLASS);


    mwA.SetData(&a, 1);
    mwB.SetData(&b, 1);


    dec(1, mwC, mwA, mwB);
    c = mwC.Get(1, 1);


    cout << c << endl;


    decTerminate();
return 0;
}

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值