2012-12-03 42 views
2

我試圖從Matlab部署一個應用程序到JAVA。 我使用Matlab Builder JA和圖像處理工具箱。 我使用Mac OS X上的deploytool從Matlab R2012a創建我的jar文件。帶Matlab編譯器運行時(MCR)的IPPL

當我運行使用我的Mac上這個瓶子我的JAVA程序,這是好的,但是當我試圖在Linux或Windows系統上運行它,我得到的錯誤:

未定義的函數或變量「ipplmex」 。 錯誤==> IPPL在== 48 錯誤> imrotate> useIPP在205

停用與iptsetpref使用IPPL的( 'UseIPPL',FALSE)不解決我的問題。

我也使用Matlab R2011a完成了與Linux環境完全相同的工作,它適用於Linux,但不適用於具有相同錯誤的MacOSX計算機。

如果有人在更改操作系統時有關於此IPPL事情的想法,那將非常棒。

謝謝!

+0

我不知道在每個環境中部署的IPPL版本是否不同? –

回答

0

如果使用Builder JA創建的Java組件不依賴特定於平臺的庫(例如您創建的MEX文件)或Image Processing Toolbox附帶的IPPL庫,則使用Builder JA創建的Java組件僅爲跨平臺組件。

如果您希望Java組件使用IPPL,我認爲您需要在Mac上創建一次Java組件,在Linux上創建一次,在Windows上創建一次,並使用在適當平臺上創建的版本。

ipplmex是由ippl調用的(平臺特定的)MEX文件,它是檢查IPPL是否可用的實用函數。目前我無法檢查,但我認爲這可以通過iptsetpref命令檢查是否指定了您想要實際使用IPPL。因此,無論您是否指定應使用IPPL,還是會調用特定於平臺的MEX文件。

此外,我目前無法檢查此問題,但如果您對使用IPPL的組件不熟悉,則可以嘗試修改ippl命令以僅返回零(表示IPPL不可用),而無需試圖執行ipplmex。 (在嘗試進行任何修改之前,請務必拍攝現有ippl.m文件的副本)。