MATLAB 编译java步骤

MATLAB 编译java步骤:

(不同版本的MATLAB 样式可能不太一样,但是基本流程就是这样的,我是2014版本的,2015版本目前只支持64位操作系统,window暂时没有这样的环境)


1.选择好自己的工作目录,也就是需要编译的文件夹目录

我的是:E:\Program Files\MATLAB\work\roi

2.在 命令窗口 输入:deploytool;

会弹出一个窗口,选择:library compiler

3.选择之后,会弹出一个新的窗口matlab compiler

左上角有一个窗口,可以选择你需要编译后的语言,

我选的:java package

4.在上边中间位置,有一个窗口:add exported function,

添加当前文件夹下,应用程序执行入口那个 m 文件。

我选择的是:roi.m

等上几秒的时间,在下方,有一个栏目显示:

运行应用程序所需要的文件,这里会自动把所需要的文件加进来。


5.点击右上角按钮:package

开始编译,打包成另外一种语言的程序包,生成包的路径就在当前文件夹下,

这是我本地生成的包路径:
E:\Program Files\MATLAB\work\roi\roi\for_redistribution_files_only/roi.jar

6.语言不同,生成的包格式可能不同。
然后就可以把这个包 提供给 开发者去调用了。

但是,前提必须是开发者的电脑上安装了 MATLAB 或者MATLAB Runtime,而且2者MATLAB的版本必须一致。


xp 环境下,可以正常执行,

centos6下,安装了matlab runtime,设置好了环境变量,我设置的是全局变量 etc/profile下:

JAVA_HOME=/usr/java/jdk1.7.0_80
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/MATLABMCR/MATLAB_Compiler_Runtime/v83/runtime/glnxa64:/usr/local/MATLABMCR/MATLAB_Compiler_Runtime/v83/bin/glnxa64:/usr/local/MATLABMCR/MATLAB_Compiler_Runtime/v83/sys/os/glnxa64
export XAPPLRESDIR=/usr/local/MATLABMCR/MATLAB_Compiler_Runtime/v83/X11/app-defaults


执行过程中,可能遇到空指针,检查环境变量,并且source /etc/profile,或者重启服务器。

如果遇到 libXmu.so.6 not find,
http://pkgs.org/download/libXmu.so.6
下载安装相应版本。

如果发现yum用不了了,试试这个
ldd /usr/lib64/python2.6/site-packages/pycurl.so

linux-vdso.so.1 => (0x00007fff8bbff000)
libcurl.so.4 => /usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/bin/glnxa64/libcurl.so.4 (0x00007ff5a34dc000)
libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00007ff5a3118000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff5a2efb000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff5a2b68000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff5a2963000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007ff5a2760000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff5a24dc000)
/lib64/ld-linux-x86-64.so.2 (0x0000003b35a00000)

发现动态链接库 被覆盖了

这个时候,只需要更新下matlab 安装目录的文件名字即可。

大功告成.


遗憾的是,我在linux执行,出现这个问题,

com.mathworks.toolbox.javabuilder.MWException: Undefined function 'imfilter_mex' for input arguments of type 'double'.

没解决掉(我是在32位机上编译,运行在64位机上,应该和这个有关系)


http://cn.mathworks.com/products/compiler/mcr/index.html

http://www.kankanews.com/ICkengine/archives/160748.shtml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLABJava之间进行转换可以通过两种方式实现:使用MATLAB编译器与Java的混合编程或通过MATLAB将代码转换为Java代码。 使用MATLAB编译器与Java的混合编程可以通过MATLAB提供的MATLAB Compiler和Java开发工具结合来实现。在MATLAB,可以使用MATLAB Compiler将MATLAB代码编译成可执行的Java类或可调用的Java函数,并生成相应的可执行文件。然后,可以在Java调用这些生成的文件以实现相应的功能。这种方式需要掌握MATLABJava的编程语法和相关知识。 另一种方式是将MATLAB代码转换为Java代码。一些第三方工具可以将MATLAB代码转换为与Java语法相对应的代码。这种方法需要将MATLAB代码导入到这些工具,并进行相应的转换。转换后的Java代码可以提供给Java开发人员使用,而不需要MATLAB环境的支持。然而,由于两种语言的差异,转换可能导致一些功能或语法的改变或丢失。 无论使用哪种方式,将MATLAB代码转换为Java代码都需要仔细检查转换后的代码是否符合预期的功能,并对其的差异进行调整和修复。此外,还需要确保环境已正确配置所需的MATLABJava开发工具。 综上所述,MATLAB转换为Java需要掌握MATLABJava的编程语法和知识,并根据不同的需求选择合适的转换方式。需要注意的是,转换过程可能需要对代码进行调整和修复,以确保转换后的代码能够正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值