首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java本机接口正在加载dll文件

Java本机接口正在加载dll文件
EN

Stack Overflow用户
提问于 2017-05-29 00:48:35
回答 1查看 506关注 0票数 0

我正在尝试在java程序中加载一个DLL文件。我没有得到一个错误。但是,不加载DLL库。以下是代码片段:

代码语言:javascript
复制
final class TJLoader {
  static void load() {
    //System.loadLibrary("@TURBOJPEG_DLL_NAME@");
      String path = "C:/Eclipse2/mozpeg-master/bin";
      try {
            System.out.println("before loading");
            //System.loadLibrary("cygjpeg-62");
            System.load("C:/image_test/mozjpeg-master/.libs/cygjpeg-62.dll");

            System.out.println("2");
    } catch (Exception e) {
        // TODO Auto-generated catch block
        System.out.println("exception="+e);
    }catch(Error e){
        System.out.println("error="+e.getMessage());
    }
  }
}

在控制台上,我会看到“加载前”。但是,在此之后没有任何打印内容,程序突然结束。请注意,DLL是一个62位的库,我使用的是62位的JVM

EN

回答 1

Stack Overflow用户

发布于 2017-10-17 14:34:26

DLL加载失败实际上会产生java错误。当您尝试调用本机方法时,会产生本机错误。当我的程序加载DLL失败时,我得到了类似于"Library not found“的java错误。您应该确保您的DLL是64位版本,同时,尽量避免Cygwin。我使用Visual studio构建动态链接库,它在fine.Also中工作,请记住,采用发布版本而不是调试版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44229772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档