gpt4 book ai didi

linux - 将 .m 库打包到 MATLAB 可执行文件中

转载 作者:太空狗 更新时间:2023-10-29 12:33:38 26 4
gpt4 key购买 nike

我觉得这是一个相对基本的问题,但解决方案似乎超出了我的 Google 能力范围。

设置:

我在 ~/project 中有一个 matlab 项目,它引用文件夹/s/cplex/matlab 中的 matlab 库 (cplex)。我可以通过调用 addpath('/s/cplex/matlab') 然后运行我的 main() 脚本来成功编译我的应用程序。

目标:

我想将我的项目构建为可执行文件,以便它仍然可以引用/s/cplex/matlab。理想情况下,/s/cplex/matlab 将被打包到这个可执行文件中,以便它是可移植的。

问题:

我为完成这项工作所做的尝试都是徒劳的。我仔细阅读了http://blogs.mathworks.com/loren/2008/08/11/path-management-in-deployed-applications/并尝试:

  1. 在运行可执行文件之前将/s/cplex/cplex/matlab 添加到 LD_LIBRARY_PATH
  2. 在启动 MATLAB 之前将/s/cplex/cplex/matlab 添加到 LD_LIBRARY_PATH,使其位于 MATLAB LD_LIBRARY_PATH 上
  3. 将/s/cplex/cplex/matlab 添加到 MATLAB 部署工具中的共享资源和帮助文件面板
  4. 编译前通过addpath()将/s/cplex/cplex/matlab添加到MATLAB路径
  5. 将/s/cplex/cplex/matlab 添加到 MATLAB deploytool 中的 Package 面板

经过所有这些尝试,生成的可执行文件仍然无法找到 cplex 目录。将 matlab 可执行文件链接/打包到其 .m 依赖项的最佳方法是什么?

最佳答案

啊哈!修复。

问题

对于任何有类似问题的人来说,问题确实出在 @ 符号上。我使用的是 AFS 文件系统,它将文件路径中的 @sys 解析为机器/操作系统对。我的路径中有“@sys”字符串以保持其通用性,MATLAB 将其视为表示类文件夹的关键字并误读为关键字。

解决方案

我用实际的文件夹名称替换了所有出现的“@sys”,MATLAB 正确地解析了它们。请注意,此解决方案并不是很明显,因为我使用的路径是指向带有“@sys”字符串的完整路径的符号链接(symbolic link)。

关于linux - 将 .m 库打包到 MATLAB 可执行文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19417524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com