A.h里定义了class B
C.cpp里include A.h并且引用了B类,声明B类B b;
G++ C.cpp -o X.so
为什么用JNI调用X.so运行时,错误提示找不到B类?
比较复杂,看具体报错吧
先用nm等查看一下是否有导出类B来,通过JNI,一般最好是调用导出的函数,直接调用导出类,跨语言不容易处理
gcc hello.c-I../include -fPIC -shared -o libhello.so
很明显,“G++ C.cpp -o X.so”生成的是可执行程序而不是动态库。
你需要了解一下动态库的制作。