我想使用这个API: http://code.google.com/p/vavi-sensor/
使用在Java代码中的MacBook加速度计。
我把.c文件到我的图书馆,但我仍然得到一个 java.lang.UnsatisfiedLinkError: no SmsWrapper in java.library.path
我想这是因为它仍然在.c文件,而我的所有其他库的.jar。我如何才能将它变成jar或其他可加载格式(jnilib等)? 谢谢
我想使用这个API: http://code.google.com/p/vavi-sensor/
使用在Java代码中的MacBook加速度计。
我把.c文件到我的图书馆,但我仍然得到一个 java.lang.UnsatisfiedLinkError: no SmsWrapper in java.library.path
我想这是因为它仍然在.c文件,而我的所有其他库的.jar。我如何才能将它变成jar或其他可加载格式(jnilib等)? 谢谢
您需要阅读约JNI或JNA。 JNA更容易,但你仍然需要将C编译为库,然后按照JNA documentation。
.c文件只是源代码。您需要将它们编译为合适的机器,打包到共享对象库中,然后通过包装器Java类中的本机方法引用它们。
The JNI tutorial拥有所有你需要的信息,虽然它并没有详细描述事物的非Java方面,因为大多数人这样做已经知道在C编程和构建共享对象库。