在MATLAB中,通过注册表配置编译器@TOC
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在使用MATLAB/Simulink时,经常在编译模型,生成代码时会有没有编译器,或编译器没有配置正确。一、什么情况下需要配置编译器?
典型的情况如下当你的模型,算法中包含外部引入的代码时,运行模型需要编译器
当你的模型,需要生成代码并编译时,需要编译器
当你的模型包含stateflow有限状态机时,需要编译器
更多的需要编译器的情况,查看MathWorks网站。务必使用你的MATLAB支持的编译器。
https://ww2.mathworks.cn/support/requirements/supported-compilers.html?s_tid=srchtitle
二、配置的方式
1.mex -setup
所有的配置归根结底都是使用指令:mex -setup如果在MATLAB 窗口输入指令,有列出可用的编译器,则按照提示继续即可。2.mexopts 文件配置
如果1中的指令返回结果没有列出任何注册表,可能是没有mexopts文件。找到matlabroot\bin\win64\mexopts,查找对应编译器的xml文件,如图

如果没有你需要的版本,那么原因就是缺失这些文件。
我已经上传了2015、2017和2019的xml文件
3.注册表
如果有xml文件,还是没有编译器列表,那么可能注册表中对应的项目。在MATLAB中输入 mex -setup -v,查看对应的版本的查找的注册表位置

可以看到,MATLAB在以上4个位置查找了注册表,均没有找到。导致编译器没有找到。我们需要在其中之一写入我们的值。
在对应的路径下,写入您的安装路径即可。
版权声明:本文为weixin_41784289原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。