Matlab:利用VS2017执行cpp文件

一、环境配置

Matlab是不能直接编译Cpp文件的,需要借助计算机上已有的编译器。我的Matlab版本是R2016a,计算机上安装的是VS2017社区版。首先要确保matlab能够找到VS2017的编译器,在命令行窗口输入mex -setup,之后提示:

错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问

出现这个原因是,在/bin/win64/mexopts文件夹下,没有VS2017的配置文件(有vs2010、2012、2013、2015的,估计Matlab2016发行的时候还没有VS2017,  ̄□ ̄||)。需要我们下载msvc2017.xml和mscvcpp2017.xml两个配置文件并放到mexopts文件夹下,然后重新输入mex -setup,然后单击提示出来的mex -setup C++,就在Matlab里配置好C++编译器了。
两个配置文件的下载地址如下:https://download.csdn.net/download/dashumak/10900255

二、mex编译cpp文件

比如我要编译的是Initialization.cpp文件,就在命令窗口中输入mex Initialization.cpp。但是,提示我。这是因为Initialization.cpp调用了一个Interface.dll库,但是那是个32位的库。但是64的Matlab不能编译生成32位的mex,更不能调用32的mex。所以唯一的解决办法是重新安装一个32位的Matlab(o(╥﹏╥)o)。

错误使用 mex 
Interface.lib(Interface.dll) : fatal error LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值