如何从 MATLAB 中的包函数生成 MEX?
how to generate MEX from package function in MATLAB?
我的目录结构如下:
main
+model
run.m
+options
opt.m
main.m
等等。
我在 +model
目录下有一个名为 run
的函数,它依赖于 +options
目录中的某些函数,例如我在目录 [=15] 下的 main.m
脚本=] 调用 model.run()
并且函数 run
调用一些 options.opt()
.
我想生成 model.run()
的 MEX 文件,所以我在 MATLAB 命令提示符下 运行 coder
,并在第一个屏幕上输入函数名称生成代码 model.run
,编码器只显示错误:
This file is shadowed by C:\....\+model\run.m
我已经尝试将 main
目录添加到路径中,但没有成功。
- 在这种情况下是否可以为
model.run()
编译 MEX?
MATLAB 版本:'9.4.0.813654 (R2018a)'
遗憾的是,从 MATLAB R2019a 开始,MATLAB Coder 不支持直接从包中的函数生成代码。我们已对您的请求进行了内部记录,以便我们将来考虑解除该限制。
现在的解决方法是在调用 model.run
的包外添加一个包装函数,并将其用作 Coder 的入口函数。然后,您可以将生成的 MEX 文件移动到 +model
目录,以便 model.run
在您的其余代码中调用生成的 MEX。
我的目录结构如下:
main
+model
run.m
+options
opt.m
main.m
等等。
我在 +model
目录下有一个名为 run
的函数,它依赖于 +options
目录中的某些函数,例如我在目录 [=15] 下的 main.m
脚本=] 调用 model.run()
并且函数 run
调用一些 options.opt()
.
我想生成 model.run()
的 MEX 文件,所以我在 MATLAB 命令提示符下 运行 coder
,并在第一个屏幕上输入函数名称生成代码 model.run
,编码器只显示错误:
This file is shadowed by C:\....\+model\run.m
我已经尝试将 main
目录添加到路径中,但没有成功。
- 在这种情况下是否可以为
model.run()
编译 MEX?
MATLAB 版本:'9.4.0.813654 (R2018a)'
遗憾的是,从 MATLAB R2019a 开始,MATLAB Coder 不支持直接从包中的函数生成代码。我们已对您的请求进行了内部记录,以便我们将来考虑解除该限制。
现在的解决方法是在调用 model.run
的包外添加一个包装函数,并将其用作 Coder 的入口函数。然后,您可以将生成的 MEX 文件移动到 +model
目录,以便 model.run
在您的其余代码中调用生成的 MEX。