我觉得这是一个相对基本的问题,但解决方案似乎超出了我的谷歌范围。
设置:
我在 ~/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/并尝试了:
- 在运行可执行文件之前将 /s/cplex/cplex/matlab 添加到 LD_LIBRARY_PATH
- 在启动 MATLAB 之前将 /s/cplex/cplex/matlab 添加到 LD_LIBRARY_PATH,使其位于 MATLAB LD_LIBRARY_PATH
- 将 /s/cplex/cplex/matlab 添加到 MATLAB 的 deploytool 中的 Shared Resources and Helper Files 面板
- 编译前通过 addpath() 将 /s/cplex/cplex/matlab 添加到 MATLAB 路径中
- 在 MATLAB 的 deploytool 中将 /s/cplex/cplex/matlab 添加到 Package 面板
通过所有这些尝试,生成的可执行文件仍然无法找到 cplex 目录。将 matlab 可执行文件链接/打包到其 .m 依赖项的最佳方法是什么?