2021-07-19

在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文件,如图

XML列表
如果没有你需要的版本,那么原因就是缺失这些文件。
我已经上传了2015、2017和2019的xml文件

3.注册表

如果有xml文件,还是没有编译器列表,那么可能注册表中对应的项目。

在MATLAB中输入 mex -setup -v,查看对应的版本的查找的注册表位置

在这里插入图片描述

可以看到,MATLAB在以上4个位置查找了注册表,均没有找到。导致编译器没有找到。我们需要在其中之一写入我们的值。

在对应的路径下,写入您的安装路径即可。
在这里插入图片描述



版权声明:本文为weixin_41784289原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。