`

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
分享到:
评论

相关推荐

    Matlab与java接口(图文并茂)

    本文将详细阐述配置要求、环境配置、Java Builder的使用以及在Java工程中调用Matlab组件的关键步骤。 一、配置要求 要成功建立Matlab与Java的接口,首先需要满足以下条件: 1. MATLAB版本:至少要求R2006b(MATLAB ...

    Java程序调用MATLAB接口

    Java程序调用MATLAB接口 Java 程序调用 MATLAB 接口是 Java 和 MATLAB ...Java 程序调用 MATLAB 接口需要注意版本问题、环境安装和 MATLAB 生成 JAR 包的步骤。只有按正确的步骤进行操作,才能成功调用 MATLAB 接口。

    matlab+java

    1. **创建Matlab MEX文件**:MEX文件是Matlab的可执行文件,它可以调用C、C++或Fortran编译的代码。开发者可以使用Matlab的MEX接口创建Java动态链接库(DLL)或Java类文件,以便在Java环境中调用Matlab的计算功能。 ...

    【Matlab】Java 中使用 MATLAB 作图

    为了实现在Java中调用MATLAB,需要以下几个步骤: 1. 确保在Java项目中引入了MATLAB Builder for Java工具箱中的javabuilder.jar,这是为了确保MATLAB函数能被Java环境正确识别和调用。该jar包通常位于MATLAB安装...

    Java应用程序和java Web调用Matlab配置实例

    在Java项目中,引入编译后的Java类,并通过Java的反射机制或者直接实例化对象来调用Matlab的方法。调用时,你需要传递相应的参数,并接收返回结果。注意,由于Matlab和Java的数据类型不同,你可能需要进行数据类型的...

    MATLAB-Builder-for-Java-Programming.rar_Java matlab_java program

    接下来,集成MATLAB组件到Java应用的过程通常包括以下几个步骤: 1. 创建MATLAB组件:在MATLAB环境中编写和测试算法,然后使用MATLAB Compiler将其打包为可部署的形式。 2. 配置Java项目:在Java开发环境中(如...

    Linux系统下Java与Matlab混合编程及应用.pdf

    而在Linux/Unix系统下,由于操作系统和环境的差异,可以选择使用Matlab自带的Java虚拟机,配合BuilderJA模块将Matlab的.m文件编译打包成jar包,实现Java调用Matlab编译后的类。 5. 环境搭建和配置步骤:为了在Linux...

    java_连接_matlab

    ### Java 连接 MATLAB 实现方法详解 #### 一、引言 随着计算机科学的发展,不同编程语言之间的交互变得越来越重要。Java作为一种广泛使用的面向对象编程语言,在企业级应用开发中占据着重要的地位。而MATLAB则是一...

    Java中如何调用matlab代码

    编译完成后,将会生成两个jar文件,其中一个是转换后的Java类文件,另一个是用于调用这些类所需的MATLAB接口文件。 3. **编写Java程序**:创建一个新的Java程序`getmagic.java`,导入必要的包,并调用由MATLAB转换...

    Java中使用MATLAB作图

    8. `distrib`目录:可能包含MATLAB编译后的Java库文件,这些库需要在Java项目中添加为依赖,以便能够调用MATLAB代码。 9. `TryMatlabPlot`:这可能是一个示例程序,展示了如何在Java中尝试调用MATLAB绘图功能。运行...

    用Matlab函数编译

    Matlab Compiler是由MathWorks公司开发的一款工具箱,它允许用户将Matlab程序编译成独立的可执行文件或与其他编程语言(如C/C++、Java)集成的库文件。这样做的好处在于: - **独立性**:编译后的程序可以在没有安装...

    MATLAB——对包含绘图的程序文件进行编译

    在MATLAB中编译包含绘图的程序,我们需要确保以下几个步骤: 1. **准备代码**:确保你的MATLAB程序文件(.m文件)正确无误,包括所有绘图函数,如`plot`、`scatter`、`bar`等。确保所有的数据和图形输出都在代码中...

    MATLAB之编译工具箱.docx

    MATLAB 之编译工具箱是 MATLAB 7.0 的一款强大工具,可以将 MATLAB 代码编译成独立的可执行文件或软件组件,从而使得 MATLAB 应用程序可以脱离 MATLAB 环境独立运行。下面我们将详细介绍 MATLAB 之编译工具箱的使用...

    java与matlab混合编程jsp调用matlab网页显示fig

    我们使用deploytool命令将其编译成Java包(.jar)文件。 三、创建Java项目 我们创建了一个Java项目,名称为JavaUseMatlab,并添加了生成的.jar文件到Java Build Path的Libraries下。在这里,我们还添加了java...

    【博客 Java调用MATLAB,将文件转换为二进制流】java+matlab程序

    3. **Java调用MATLAB代码**:在Java代码中,引入MCR库,并使用Java反射机制实例化和调用MATLAB编译后的类。这样,Java就能执行MATLAB的二进制转换功能。需要注意的是,Java代码需要正确配置MATLAB的运行环境,包括...

    java调用matlab笔记

    ### Java调用Matlab知识点详解 ...综上所述,Java调用Matlab涉及多个步骤,包括环境配置、Matlab代码编写、编译以及在Java中调用Matlab编译后的JAR文件。正确地完成这些步骤,可以实现Java与Matlab之间的有效交互。

    Case-Based Reasoning using MyCBR, MatLab and Java.zip

    这种集成通常通过MatLab编译为可调用的DLL或JAR文件,然后在Java程序中调用执行。 综上所述,这个资料包提供了从理论到实践的CBR系统开发指导,涵盖了MyCBR工具的使用、MatLab的数据处理以及Java的系统构建。对于想...

    matlab 打包成jar 后端代码代用

    然而,MATLAB程序通常不能直接在Java平台上运行,为了解决这个问题,MATLAB提供了将MATLAB代码打包成Java可调用的JAR文件的功能。这个过程叫做MATLAB编译器(MATLAB Compiler)的使用,它允许我们将MATLAB代码转换为...

    java调用matlab流程

    在Java环境中通过`javabuilder.jar`添加MATLAB编译生成的包;编写Java类文件,并通过`MWNumericArray`类传递数据到MATLAB函数中;设置环境变量以便Java程序能够找到MATLAB运行时环境;最后通过Java程序调用MATLAB...

Global site tag (gtag.js) - Google Analytics