我已经对JNI进行过研究,我想我理解它是如何工作的,但我一直试图从JNI调用的另一个C函数调用C函数。
我有2个.c
,HelloWorld和HelloWorld2,以及一个调用HelloWorld的java程序。 HelloWorld同时调用HelloWold2中定义的函数,但这会在执行时导致错误。
java:符号查找错误:/home/hduser/Desktop/final2/libhello.so:undefined symbol:helloworld
答案 0 :(得分:1)
假设您有两个文件:
HelloWorld.c HelloWorld2.c
和HelloWorld应该从HelloWorld2中调用一些东西:
通过设置LD_LIBRARY_PATH确保共享库可见。
您可以在此处找到一些JNI示例:http://jnicookbook.owsiak.org/