Julia 未能预编译JLD

Julia 未能预编译JLD,julia,Julia,我有一个使用Julia 0.6的代码,最近我一直在尝试再次使用它,但是我在使用JLD时遇到了不同的问题。 我尝试使用最新的Julia版本,但仍然不起作用。 在0.6版本中,我拥有以下内容: using JLD 信息:预编译模块JLD。警告:无法导入 Base.lastindex导入HDF5警告:无法将Base.lastindex导入 HDF5错误:LoadError:ArgumentError:在中找不到模块Libdl 当前路径。运行Pkg.add(“Libdl”)安装Libdl包 错误:未知

我有一个使用Julia 0.6的代码,最近我一直在尝试再次使用它,但是我在使用JLD时遇到了不同的问题。 我尝试使用最新的Julia版本,但仍然不起作用。 在0.6版本中,我拥有以下内容:

using JLD
信息:预编译模块JLD。警告:无法导入 Base.lastindex导入HDF5警告:无法将Base.lastindex导入 HDF5错误:LoadError:ArgumentError:在中找不到模块Libdl 当前路径。运行
Pkg.add(“Libdl”)
安装Libdl包

错误:未知的包Libdl

我真的不明白到底发生了什么,我在Julia博客和stackoverflow上也看到了类似的问题,但在我的案例中似乎没有提出任何解决方案。。我可以修改我的代码,因为它可以与Julia的更新版本一起工作,但我仍然无法使JLD在任何版本中工作

有什么建议吗?
谢谢

对于Julia 1.0.0,请使用软件包
JLD2.jl

]
转到软件包管理器:
添加JLD2

示例代码:

using JLD2
obja = (a=5, b=[1,2,3]);
objb = "hello world";
save("dat.jld2","obja",obja,"objb",objb);
正在运行

load("dat.jld2")
屈服

Dict{String,Any} with 2 entries:
  "obja" => (a = 5, b = [1, 2, 3])
  "objb" => "hello world"

谢谢你的帮助。我将尝试这个,但我也不想改变我的全部代码,因此能够在以前版本的julia上运行它。你知道有没有办法解决Julia以前版本的问题?JLD不再支持JLD2,因此我认为你必须更新你的代码。幸运的是,API看起来是一样的,所以它似乎没有什么大不了的…是的,我会这样做的。当我将您的代码复制并通过Julia 1.0时,我得到:>错误:未定义错误:保存未定义,当我尝试
JLD2.save(“dat.JLD2”,“obja”,obja,“objb”,objb)时我获取:>错误:方法错误:没有方法匹配save(::String,::String,::NamedTuple{(:a,:b),Tuple{Int64,Array{Int64,1}}}}},::String,::String)
使用FileIO FileIO.save()
对我很有效。谢谢你的回答!
Dict{String,Any} with 2 entries:
  "obja" => (a = 5, b = [1, 2, 3])
  "objb" => "hello world"