使用 MATLAB Compiler Runtime (MCR) 运行 Matlab 可执行文件

Posted

技术标签:

【中文标题】使用 MATLAB Compiler Runtime (MCR) 运行 Matlab 可执行文件【英文标题】:Run Matlab executable file with MATLAB Compiler Runtime (MCR) 【发布时间】:2013-07-18 16:26:18 【问题描述】:

我想通过 Matalb2013a 运行已在 LINUX 平台上执行的文件。

该程序要求用户安装 MATLAB 运行时库,因此我下载了 2013a 版的 MATLAB Compiler Runtime (MCR)。

我已经安装了它,并且按照安装期间的建议将路径添加到了 LD_LIBRARY_PATH 和 XAPPLRESDIR。

但是当我跑步时

sh run_PROGRAM.sh /usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81 
/INPUT_FILE/HG00096.chr21.txt /INPUT_FILE/FinalHG00096.chr21.samjustMut.sam 

返回

Setting up environment variables
LD_LIBRARY_PATH is .:/usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81/runtime/glnxa64:
/usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81/bin/glnxa64:
/usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81/sys/os/glnxa64:
/usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:  
/usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64/jre/lib/amd64/server:
/usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64/jre/lib/amd64/client:
/usr/local/MATLAB2013a/MATLAB_Compiler_Runtime/v81/sys/java/jre/glnxa64/jre/lib/amd64
run_PROGRAM.sh: 1: eval: ./PROGRAM: Permission denied

这是什么意思? 我哪里错了? 请帮忙

【问题讨论】:

【参考方案1】:

尝试执行以下操作....

sudo chown your_linux_username:your_linux_username the_executable_matlab_file

然后

chmod +x the_executable_matlab_file

我们在这里所做的基本上是将那个特定程序的用户和组权限更改为属于你的,下一步我们让 linux 知道这个特定程序实际上是允许作为可执行文件运行的。

如果这仍然不起作用,请粘贴以下命令的结果:

ls -lah | grep the_executable_maltab_file

【讨论】:

【参考方案2】:

这只是意味着您没有运行 PROGRAM 的权利。 命令的输出是什么:

ls -l PROGRAM

?

也许你已经以 root 身份编译了这个程序?尝试使用chmod更改访问权限。

【讨论】:

以上是关于使用 MATLAB Compiler Runtime (MCR) 运行 Matlab 可执行文件的主要内容,如果未能解决你的问题,请参考以下文章

从 MATLAB Compiler 应用程序调用 python 时无法调用 python 库

MATLAB 2014a (8.3) Compiler Runtime (MCR)

尝试运行 Matlab-Compiler-Runtime 应用程序时,Windows 7 中出现 SxS 错误

Matlab Compiler Runtime安装文件找不到Java Runtime Environment

仅在调试期间在 C++ 中初始化 matlab-compiler dll / lib 时访问冲突

在同一台机器上运行 Matlab MCR 和 MATLAB