问题:我想打包。m文件转换成com组件供VB.NET调用,但是我遇到了“没有找到C++编译器”的问题网上能找到的各种方法我都试过了,都不成功!最后,我总结了以下方法:首先确保你的matla
问题:我想打包。m文件转换成com组件供VB.NET调用,但是我遇到了“没有找到C++编译器”的问题
网上能找到的各种方法我都试过了,都不成功!最后,我总结了以下方法:
首先确保你的matlab和vs安装正确,并且matlab和vs的版本兼容(不兼容的情况自己下载matlab安装目录下mexopts文件夹的内容,其他博主已经详细讲解过了,这里就不赘述了)。然后你可以通过以下两种方式“看到”matlab搜索C++编译器的过程:
1.在matlab命令窗口中输入deploytool。
出现编译器对话框,选择第三个进入“MATLAB编译器”对话框。
选择“Generic COM Component”方式,添加类和.m文件后,选择右上角Package打包选择“泛型COM组件”方法,添加类和。m文件,然后选择右上角的包进行打包。
这时会出现打包失败的对话框(我不放图了,因为我已经解决问题了)。单击红色字母以显示
“打包失败,打开日志文件”,其中逐一显示了搜索过程和路径。
其次,在matlab命令窗口输入MCC-v-w' com: my _ add,my class,1.0'-tlink: libmyadd.m。
其中my_add是要生成的COM组件的名称,myclass是它的类名,版本1.0,myadd是它的方法(即添加的。m文件)
然后,搜索过程将显示在命令窗口中,最终结果是找不到已安装的C++编译器。
可以看到matlab自动开始搜索你电脑上已经安装或者还没有卸载的C++编译器,
从环境变量-注册表-文件夹-文件依次进行。我们可以逐个检查我们的电脑设置是否与命令窗口中显示的一致,如果不一致,就进行修改,使其与命令窗口中显示的一致。例如,我的显示器:
正在查找文件“c:program files Microsoft visual studio 12.0 vcbinam d64 cl . exe”,否
原因是我的文件在‘C:Program Files(x86)’文件夹,于是我把VC文件夹复制到Program Files(x86)文件夹,成功了。
后面会分享更多关于devops和运维的内容,感兴趣的朋友可以关注一下。