从C代码创建Java库(jar)

时间:2011-03-14 02:54:43

标签: java java-native-interface

问候,

我正在尝试使用此API: http://code.google.com/p/vavi-sensor/

在Java代码中使用macbook加速度计。

我将.c文件放入我的库但我仍然得到了 java.lang.UnsatisfiedLinkError: no SmsWrapper in java.library.path

我认为这是因为它仍然在.c文件中,而我所有的其他库都是.jar。我怎么能把它变成罐子或其他可加载的格式(jnilib等)? 感谢

2 个答案:

答案 0 :(得分:0)

您需要了解JNIJNA。 JNA更容易,但您仍需要将C编译为库,然后按照JNA documentation进行操作。

答案 1 :(得分:0)

.c文件只是源代码。您需要为适当的机器编译它们,打包到共享对象库中,然后在包装Java类中由本机方法引用。

The JNI tutorial包含您需要的所有信息,但它没有详细介绍非Java方面的内容,因为大多数人这样做已经知道用C编程和构建共享对象库。