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
分享到:
相关推荐
libsvm-3.11(matlab编译过了),原始的需要在Matlab下面编译下才能用的,不过win7可能有时候找不到编译器,故在winxp下面用VC6.0的编译了下,拿出来照样能用。
matlab混合编程 MATLAB编译成dll供c++程序调用
matlab编译程序与外部接口光盘内容
Matlab与Java编程,对MATLAB与Java的简单介绍。
MATLAB编译单个或者多个.CPP文件,包括使用OPENCV的编译方法,使用参考博客:https://blog.csdn.net/qq_17783559/article/details/88682663
1、MATLAB版本要求:至少R2006b版本(MATLAB 7.3),检查MATLAB安装文件夹下toolbox中是否有javabuilder这一项。 2、安装JDK1.5版本以上。 二、环境配置 …… 三、用JAVA Builder创建JAVA组件 ……
先用Matlab编写了一个曲线拟合并求曲线上给定点值得.m文件,并将其编译为C#可以直接调用的DLL文件。用C#新建一个窗体程序来测试dll的调用。
根据matlab的帮助文件,一步步配置matlab for java,每个步骤有详细贴图,使在java开发平台上调用matlab的程序。(贴图版)
上一个资源 C# 调用Matlab编译的动态链接库dll 其中用到的数据 其中路径可以自己在程序代码中修改,或者做成从路径手动打开的方式
matlab的M文件编译成EXE文件详细步骤
详细介绍Matlab于C,C++如何进行混合编译。
Matlab未公开的一些技术 ,相当有意思~
Undocumented_Secrets_of_MATLAB_Java_Programming.part2 Undocumented_Secrets_of_MATLAB_Java_Programming 第2部分(共3部分) http://undocumentedmatlab.com/books/matlab-java This book shows how using ...
MATLAB 编译C代码添加图标方法 安装了MATLAB的朋友,可以直接使用MATLAB编译C了,除了MFC,其余都可以实现
MATLAB和JAVA的混合编程研究与实现_.
Undocumented_Secrets_of_MATLAB_Java_Programming.part3 Undocumented_Secrets_of_MATLAB_Java_Programming 第3部分(共3部分) http://undocumentedmatlab.com/books/matlab-java This book shows how using ...
Java调用MATLAB的实例,详细,照本宣科即可
此文件为实现java调用matlab程序的jar包
AWGN信道下极化码的编解码MATLAB程序,有需要自取,主要是译码方面
libsvm/matlab/make.m编译后的四个文件libsvmread.mexw64、libsvmwrite.mexw64、svmtrain.mexw64、svmpredict.mexw64。