我具有以下目录结构:
main
+model
run.m
+options
opt.m
main.m
等等。
我在+model
目录下有一个名为run
的函数,该函数取决于+options
目录中的某些函数,因此我的main.m
脚本在目录main
下调用model.run()
,函数run
调用某些options.opt()
。
我想生成一个model.run()
的MEX文件,所以我从MATLAB命令提示符下运行coder
,在第一个屏幕上,我输入函数名称以生成代码{{1} },编码器仅显示错误:
此文件被C:\ .... \ + model \ run.m遮盖
我已经尝试过将model.run
目录添加到路径中,但是没有用。
main
编译MEX?MATLAB版本:“ 9.4.0.813654(R2018a)”
答案 0 :(得分:1)
不幸的是,自MATLAB R2019a开始,MATLAB Coder不支持直接从包中的函数生成代码。我们已在内部记录了您的请求,以便将来考虑解除该限制。
目前的解决方法是在调用model.run
的程序包之外添加包装函数,并将其用作Coder的入口点函数。然后,您可以将生成的MEX文件移动到+model
目录中,以便model.run
在其余代码中调用生成的MEX。