Matlab R2014a mex 使用vs2017编译器,及 mex命令编译C++文件报错:mexfilerequiredapiversion解决方案

Matlab R2014a mex 使用vs2017编译器,及 mex命令编译C++文件报错:mexfilerequiredapiversion解决方案


在matlab 2014Ra下使用vs2017编译器编译C++文件为matlab可执行程序,本身matlab 2014Ra,是不支持vs2017编译器的,但是只要把 配置xml文件msvcpp2017、msvc2017放入至matlab的C:\Program Files\MATLAB\R2014a\bin\win64\mexopts目录下,在运行mex -setup即可实现通过matlab 2014Ra,使用vs2017的编译器,编译c++文件。
其中msvcpp2017、msvc2017下载地址(https://download.csdn.net/download/probloys/10765135)
虽然matlab mex 安装成功,但是在实际使用中遇到三个问题,
问题1:使用mex 命令无法找到window sdk,我所需要的window sdk7.1 for win7,这个在百度上搜索进入官网下载,很容易,安装出现失败,是之前版本的window sdk未卸载干净,卸载干净即可。
问题2:sdk 安装成功后,matlab mex命令一直报错mexfilerequiredapiversion,这个问题一直困扰了我一天,墙外墙内,翻遍了也没有找到解决方案,最后还是怀疑到配置文件。
在C:\Users\chenjingcheng\AppData\Roaming\MathWorks\MATLAB\R2014a有两个xml配置文件分别为, mex_C++_win64、mex_C_win64,这两个文件功能我目前也不太清楚,但是在这两个xml文件中找到了mexfilerequiredapiversion这个标签,我把这个标签极其后面的值删除了就ok了(提示:修改前请先备份下,怕万一解决不了问题)。下图是删完之后的对应行 在这里插入图片描述
问题3:编译成功之后,matlab运行调用,报缺少相应的组件,使用depends软件分析编译后的文件,需要哪些dll文件,拷贝至相同目录下即可

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值