Scala Breeze无法加载Windows 64 dll

时间:2013-11-07 01:58:48

标签: scala sbt scala-breeze

您好我正在尝试将Scree库用于Scala,但仍然遇到此错误:

[error] (run-main) java.lang.ExceptionInInitializerError: unable to load from [netlib-native_system-win-x86_64.dll]

表示在运行我的代码时dll不会加载。我正在使用SBT,这是我的build.st

name := "BreezeTest"

version := "1.0"

scalaVersion := "2.10.3"

libraryDependencies  ++= Seq(
        "org.scalanlp" % "breeze_2.10" % "0.5.2",
        "org.scalanlp" % "breeze-viz_2.10" % "0.5.2"
)

是否有其他人遇到类似问题或知道可能导致此问题的原因?

感谢。

1 个答案:

答案 0 :(得分:1)

在这里看一下自述文件的windows部分: https://github.com/fommil/netlib-java

  

     

native_system build期望找到libblas3.dll和   %PATH%(或当前工作目录)上的liblapack3.dll。除了   供应商提供的实现,OpenBLAS提供通用调整   二进制文件,可以构建ATLAS。>

     

使用Dependency Walker帮助解决任何问题,例如:   UnsatisfiedLinkError(找不到依赖库)。

     

注意:OpenBLAS不提供单独的库,因此您必须这样做   自定义构建或将二进制文件复制到libblas3.dll和   liblapack3.dll同时还获取了libgfortran-1-3.dll的副本,   来自MinGW的libquadmath-0.dll和libgcc_s_seh-1.dll。

我应该添加你也可以设置这些JVM属性;它会慢一点,但它会保证工作:

-Dcom.github.fommil.netlib.BLAS=com.github.fommil.netlib.F2jBLAS
-Dcom.github.fommil.netlib.LAPACK=com.github.fommil.netlib.F2jLAPACK
-Dcom.github.fommil.netlib.ARPACK=com.github.fommil.netlib.F2jARPACK

我应该在微风中添加常见问题解答。