A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

matlab mbuild -setup找不到C++编译器解决方案
本文配置环境:matlab2016b+vs2013
问题:想将.m文件打包成com组件供vb.net调用,但却遇到“找不到C++编译器”的问题

我尝试了网上能找到的各种方法均不成功!最后我总结出以下方法:
首先确保你的matlab和vs都是正确安装的,并且matlab的版本与vs互相兼容(不兼容的情况是自己下载matlab安装目录下mexopts文件夹内容,这种情况其他博主已有文章详解,这里不再赘述)。然后可以用以下两种方法“看到”matlab搜索C++编译器的过程:
一、在matlab 命令窗口输入deploytool
出现compiler对话框,选择第三个进入“MATLAB Compiler”对话框


选择“Generic COM Component”方式,添加类和.m文件后,选择右上角Package打包
这时会出现打包失败(由于我已经解决问题所以就不放图了)的对话框,点击红字显示的
“打包失败,打开日志文件”,里面逐条显示搜索过程和路径。

二、在matlab 命令窗口输入mcc -v -W ‘com:my_add,myclass,1.0’ -T link:lib myadd.m
其中my_add是要生成的COM组件名,myclass是其类名,版本为1.0,myadd是其方法(也就是添加的.m文件)
然后运行,会在命令窗口显示搜索过程并最终结果是未找到任何已安装的C++编译器。

可以看到matlab自动开始搜索计算机上已安装或者曾经安装没卸载干净的C++编译器,
从环境变量——注册表——文件夹——文件依次进行,我们可以逐个过程地检查自己的电脑设置和命令窗口显示的是否一致,如果不一致再做修改使得和命令窗口显示的一致。比如我的显示:
正在查找文件’C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe’,否
原因是我的这个文件在’C:\Program Files(x86)'文件夹下,于是我把VC文件夹拷贝到\Program Files(x86)文件夹下果然就成功了。

---------------------
原文:https://blog.csdn.net/qq_42372431/article/details/91050749

有任何问题欢迎留言或者联系学姐哦~


2 个回复

倒序浏览
有任何问题欢迎联系学姐DKA-2018
回复 使用道具 举报
感谢分享~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马