2013-07-02 50 views
1

我已经donwloaded最新的JNAerator jar(jnaerator-0.12-SNAPSHOT-20130609)here。 然后,从我的Ubuntu 13.04 64位,我编译一个简单的C源(正下方)与所述命令:无法使用我的JNAerator内置的jar虽然将它添加到类路径中

java -jar jnaerator-0.12-SNAPSHOT-20130609.jar -gui -mode StandaloneJar operations.c 

使得我得到一个罐子operations.jar


operations.c :

int myAddtion(int a, int b){ 
    return a+b; 
} 

然后我这个jar添加到我的Eclipse(朱诺4.1)测试项目构建路径:这里的SCR我的项目组织

My Eclipse project organisation

和这里的eenshot是我的项目的单一来源文件:

package com.gmail.loloof64.j2se.bon_compte.operations; 

import operations.OperationsLibrary; 

public class BonCompteTest { 

    public static void main(String[] args) { 
     System.out.println(OperationsLibrary.myAddtion(10, 30)); 
    } 
} 

,但我得到了下面的错误输出:

juil. 02, 2013 1:19:47 PM org.bridj.BridJ log 
INFO: Library not found : operations 
juil. 02, 2013 1:19:47 PM org.bridj.BridJ log 
INFO: Library not found : operations 
Exception in thread "main" java.lang.UnsatisfiedLinkError: operations.OperationsLibrary.myAddtion(II)I 
    at operations.OperationsLibrary.myAddtion(Native Method) 
    at com.gmail.loloof64.j2se.bon_compte.operations.BonCompteTest.main(BonCompteTest.java:8) 
# BridJ: dlopen error when loading operations : operations: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type 
# BridJ: dlopen error when loading operations : operations: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type 

(最后句子的意思是:无法打开共享对象文件:没有这种类型的文件或文件夹)。

我正在使用sun Java7 JDK(64位)。

有人知道我忘了什么吗?

我确定必须有一个问题,例如我的C源文件丢失,但我试图将它添加到项目和jar中,在几个位置,但它没有解决我的问题问题。

问候

回答

2

这些日志(和你的命令行)似乎表明BridJ未能找到你的本地库(即.dll文件/的.so /名为.dylib文件)。 为了解决这个问题,你有几种选择:

  • 提供您的库作为command-line argument到JNAerator
  • 如果磁带库安装在系统上,调整特定于平台的查询路径:看Libraries Lookup on the wiki
  • 使用环境变量BRIDJ_OPERATIONS_LIBRARY=path或Java属性-Dbridj.operations.library=path
+0

由于运行时指向它的完整路径:其实我并没有意识到,我必须建立本机文件自己。所以我做了它并将其导入Eclipse。 – loloof64

+1

我甚至在将本地文件嵌入到jar文件(根据Bridj文档使用/lib/linux_x64/liboperations.so)并将此jar添加到classpath :)时进行了管理。 JNaerator和Bridj保存我的时间:) – loloof64

+0

很高兴听到这个消息,请不要犹豫,在这里,邮件列表或错误跟踪器中提出其他潜在问题或疑问。 – zOlive

相关问题