【问题标题】:how to generate MEX from package function in MATLAB?如何从 MATLAB 中的包函数生成 MEX?
【发布时间】:2019-08-07 16:06:36
【问题描述】:

我的目录结构如下:

main
   +model
      run.m
   +options
      opt.m
main.m

等等。

我在+model 目录下有一个名为run 的函数,它依赖于+options 目录中的一些函数,例如我在main 目录下的main.m 脚本调用model.run() 和函数run打电话给options.opt()

我想生成一个 model.run() 的 MEX 文件,所以我从 MATLAB 命令提示符运行 coder,在第一个屏幕上,我输入函数名称以生成代码 model.run,编码器只是显示错误:

这个文件被 C:\....\+model\run.m 遮蔽

我已经尝试将main 目录添加到路径中,但没有成功。

  • 在这种情况下是否可以为model.run() 编译 MEX?

MATLAB 版本:'9.4.0.813654 (R2018a)'

【问题讨论】:

    标签: matlab mex matlab-coder


    【解决方案1】:

    遗憾的是,从 MATLAB R2019a 开始,MATLAB Coder 不支持直接从包中的函数生成代码。我们已在内部记录您的请求,以便我们考虑在未来解除该限制。

    目前的解决方法是在调用 model.run 的包之外添加一个包装函数,并将其用作 Coder 的入口点函数。然后,您可以将生成的 MEX 文件移动到您的 +model 目录,以便 model.run 在其余代码中调用生成的 MEX。

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      相关资源
      最近更新 更多