我在这里下载了最新的 JNAerator jar (jnaerator-0.12-SNAPSHOT-20130609 )。然后,从我的 Ubuntu 13.04 64 位,我用命令翻译了一个简单的 C 源代码(就在下面):
java -jar jnaerator-0.12-SNAPSHOT-20130609.jar -gui -mode StandaloneJar operations.c
这样我得到一个 jar operations.jar
操作.c:
int myAddtion(int a, int b){
return a+b;
}
然后我将此 jar 添加到我的 Eclipse (Juno 4.1) 测试项目构建路径:这里是我的项目组织的屏幕截图
这是我项目的单一源文件:
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 中,但它并没有解决我的问题。
问候