关于在simulink模型中基于c语言编写的s函数无法运行的解决办法

关于在simulink模型中基于c语言编写的s函数无法运行的解决办法_第1张图片这是我最近研究的在simulink中搭建控制器的s函数。由于一些原因,无法将完整的simulink模型公开。之后,将用c语言写的控制器函数导入其中,会出现无法运行的报错。原因是在matalab环境中需要将.c语言编辑成.mex64(64位系统)才能运行。需要我们添加编译环境。

1.MinGW-w64编译器的安装

1.首先下载MinGW-w64编译器
下载地址
http://tdm-gcc.tdragon.net/download

2.傻瓜式安装即可
creat,然后不停next,
关于在simulink模型中基于c语言编写的s函数无法运行的解决办法_第2张图片
其中注意:32位还是64位下载需要对应,其次,create时候建议将check for updated files一项取消勾选,这是官网给的建议,因为后续可能会跟版本有关出现错误。

关于在simulink模型中基于c语言编写的s函数无法运行的解决办法_第3张图片
关于在simulink模型中基于c语言编写的s函数无法运行的解决办法_第4张图片
关于在simulink模型中基于c语言编写的s函数无法运行的解决办法_第5张图片

2.添加环境变量

1.点开我的电脑;
2.右击属性;
3.点开高级系统设置;
4.在高级选项中添加环境变量;(如图设置,只在其中添加关于MW-MINGW64的变量即可)
关于在simulink模型中基于c语言编写的s函数无法运行的解决办法_第6张图片

3.在matlab中进行配置

1.setenv(‘MW_MINGW64_LOC’,‘C:\TDM-GCC-64’) //逗号后面的内容为文件安装的位置
2.mex -setup //注意mex与-之间的空格
关于在simulink模型中基于c语言编写的s函数无法运行的解决办法_第7张图片
在这里插入图片描述

你可能感兴趣的:(matlab)