带Matlab编译器运行时(MCR)的IPPL

带Matlab编译器运行时(MCR)的IPPL,matlab,matlab-deployment,Matlab,Matlab Deployment,我正在尝试将一个应用程序从Matlab部署到JAVA。 我使用MatlabBuilderJA和图像处理工具箱。 我使用MacOSX上的deploytool从MatlabR2012a创建jar文件 当我在mac上使用这个jar运行JAVA程序时,这是正常的,但是当我尝试在Linux或Windows系统上运行它时,我得到了错误: 未定义的函数或变量“ipplmex”。 48处的==>ippl中的错误 在205处==>imrotate>useIPP中出错 将IPPL与iptsetpref一起禁用(“U

我正在尝试将一个应用程序从Matlab部署到JAVA。 我使用MatlabBuilderJA和图像处理工具箱。 我使用MacOSX上的deploytool从MatlabR2012a创建jar文件

当我在mac上使用这个jar运行JAVA程序时,这是正常的,但是当我尝试在Linux或Windows系统上运行它时,我得到了错误:

未定义的函数或变量“ipplmex”。 48处的==>ippl中的错误 在205处==>imrotate>useIPP中出错

将IPPL与iptsetpref一起禁用(“UseIPPL”,false)并不能解决我的问题

我还使用MatlabR2011A在Linux环境中完成了完全相同的工作,它在Linux上工作,但在MacOSX机器上没有相同的错误

如果有人在改变操作系统时有关于IPPL的想法,那就太好了


谢谢

如果使用Builder JA创建的Java组件不依赖于特定于平台的库,例如您创建的MEX文件或图像处理工具箱提供的IPPL库,则它们仅是跨平台的

如果您想让Java组件使用IPPL,我认为您需要在Mac上创建Java组件一次,在Linux上创建一次,在Windows上创建一次,并使用在适当平台上创建的版本

ipplmex
是一个由
ippl
调用的(特定于平台的)MEX文件,它是一个实用函数,用于检查ippl是否可用。我目前无法检查这一点,但我认为它可以通过
iptsetpref
命令检查您是否指定要实际使用IPPL。因此,无论您是否指定应使用IPPL,仍会调用特定于平台的MEX文件


同样,我现在无法检查这一点,但是如果您对您的组件不使用IPPL感到满意,您可以尝试修改
IPPL
命令,只返回零(表示IPPL不可用),而不尝试执行
ipplmex
。(在尝试任何修改之前,请确保复制现有的
ippl.m
文件)。

我想知道在每个环境中部署的ippl版本是否不同?