解决Matlab中mex-setup未找到支持的编译器或SDK问题(Stateflow使用时)

在使用Matlab的Stateflow功能时,需要配置支持的编译器。当运行`mex -setup`遇到未找到编译器的问题,可以前往特定网站下载TDM-GCC并安装。安装完成后,设置环境变量`MW_MINGW64_LOC`指向安装路径,例如`D:TDM-GCC-64`,然后再次运行`mex -setup`,成功后即可进行Stateflow的代码生成和仿真操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在matlab命令行窗口输入sf :创建带有stateflow状态图的simulink模型(如图1),同时打开stateflow模块库(如图2)

图1:在这里插入图片描述
窗口中左边红色矩形区域内表示可以添加进去的对象。

图2:
在这里插入图片描述

stateflow模块库里包含了chart、真值表(Truth Table)、状态转移表(State Transition Table)、一些例子(Examples)。
双击图1中的chart,出现编辑区域,在这里可以实现逻辑控制策略。

2、在matlab命令行窗口输入sflib : 仅创建stateflow模块库,点击图二中箭头所指的按钮可以新建一个simulink模型,新建后可以将图二中的模块拖曳到模型中。

3、在matlab命令行窗口输入sfnew -matlab(w后加一个空格) :仅创建带有stateflow状态图的simulink模型,双击chart,打开编辑区域(如图3),并看向图片中箭头指向处有一个matlab图标,表示用这种方式创建出的编辑区中的逻辑语句是用matlab语言进行书写的。

图3:

matlab2012b windows版在关联vs2012编译器候,以及无法编译dll。 原因就是matlab默认的编译器的目录配置,include目录以及lib目录配置错误造成的。 如果你的vs目录不是默认的,者windows是32位版本,者vs版本不是2012,者你的mt.exe目录不在Windows kits下,那么有可能需要修改附件里面的相关目录的设置(其实就是mbuild配置cl.exe和mt.exe的目录位置,以及mex配置的include和lib的所需目录),mbuild是编译exe的,mex是编译dll的。我的另一个资源仅处理mbuild配置,未处理mex的配置,所以不能成功编译mex。如果你已经下载过我的另一个资源,请替换mexopts目录下的msvc110opts.bat文件的30和31行代码(而不必下载这个资源): set INCLUDE=%VCINSTALLDIR%\INCLUDE;%VCINSTALLDIR%\ATLMFC\INCLUDE;%LINKERDIR%\include\um;%LINKERDIR%\include\shared;%LINKERDIR%\include\WinRT;%INCLUDE% set LIB=%VCINSTALLDIR%\LIB\amd64;%VCINSTALLDIR%\ATLMFC\LIB\amd64;%LINKERDIR%\lib\win8\um\x64;%MATLAB%\extern\lib\win64;%LIB% 附件里有一个word文件,是我修改的注释信息,如果需要手动修改,可以当做帮助来用. mbuild设置方法: 1 把附件相关的4个文件添加到matlab/bin/win64下面的2个相关目录 2 在matlab 里面运行 mbuild -setup, 然后选 y, 再选择2012的那个项目,再选y 3 mbuild应该成功了,此可以编译为exe文件。 mex设置方法: 1 在matlab 里面运行 mex -setup, 然后选 y, 再选择2012的那个项目,再选y 2 mbuild应该成功了,此可以编译为dll文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值