背景
我有一个Matlab代码库(或 App 现在使用r2012b),我将其分发给用户。
此应用程序将JNI与本机库(多个 .dll 文件)一起使用。在我的本地计算机上,这需要 librarypath.txt 或 javalibrarypath.txt (r2012b)文件中的条目,如Mathworks和Undocumented Matlab所述
问题
有没有办法以编程方式将本机库添加到Matlab java类路径?
我想写一个 initMyLibrary.m 脚本,其中:
有什么想法吗?
答案 0 :(得分:0)
这可能很麻烦,而且我不是这方面的专家,但在 initMyLibrary.m 中不会有类似的工作:
currentdir = pwd; % or any other directory you know the dll will be in
if ispc
system(['setx path "%path%;' currentdir '"']); % only works from windows 7 onwards though, for xp or vista youll have to change the registry with reg
elseif isunix
system(['export PATH=$PATH:' currentdir]); % dont know if this works without admin rights though...
elseif ismac
% for mac I dont know how to do this without admin rights
else
error('whatever') % error handling
end
因为我认为如果你的dll在系统路径上,这应该没问题吗?不要忘记在应用程序结束时恢复路径。
无论如何,所有这些都可能有点危险......