运动码农
2015-09-09 03:08
采纳率: 98.1%
浏览 2.0k

.h文件里定义了一个类,怎么链接到so文件里?

A.h里定义了class B
C.cpp里include A.h并且引用了B类,声明B类B b;
G++ C.cpp -o X.so
为什么用JNI调用X.so运行时,错误提示找不到B类?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 运动码农 2021-08-17 09:47
    已采纳

    比较复杂,看具体报错吧

    打赏 评论
  • oyljerry 2015-09-09 05:52

    先用nm等查看一下是否有导出类B来,通过JNI,一般最好是调用导出的函数,直接调用导出类,跨语言不容易处理

    打赏 评论
  • 一枪尽骚丶魂 2015-09-10 02:31

    gcc hello.c-I../include -fPIC -shared -o libhello.so
    很明显,“G++ C.cpp -o X.so”生成的是可执行程序而不是动态库。
    你需要了解一下动态库的制作。

    打赏 评论

相关推荐 更多相似问题