大家好,我是一个新手,最近一个项目需要在linux下使用到jni,简单的说就是在一个java程序里加载一个自己写的.so文件,而问题在于这个.so文件又需要调用其它动态库。具体是这样的,比如这里有一个test.c文件,我们要使用它,需要一个静态库lib***.a(test.c里要调用该静态库的方法),3个动态库,-lcap,-lpthread,-lz(系统有的),按如下方式编译gcc -o out test.c -L. -lcap -lpthread -lz,最后可执行文件out可以顺利运行。
现在我们需要一个java程序能够实现相同功能,比如写了一个test.java,使用jni生成了.h头文件,然后我们自己实现一个c程序,这个c程序会调用上面提到的lib***.a里的函数,我们初步的想法是把该c程序编译成.o文件,然后把lib***.a静态库全部解压出.o文件,在一起生成.so文件,但是另外3个动态库怎么处理呢?可能说得不是很清楚,呵呵,望高手指点,十万火急!
现在我们需要一个java程序能够实现相同功能,比如写了一个test.java,使用jni生成了.h头文件,然后我们自己实现一个c程序,这个c程序会调用上面提到的lib***.a里的函数,我们初步的想法是把该c程序编译成.o文件,然后把lib***.a静态库全部解压出.o文件,在一起生成.so文件,但是另外3个动态库怎么处理呢?可能说得不是很清楚,呵呵,望高手指点,十万火急!
解决方案 »
- 有用过exe4j的?java怎么激活exe4j 的"自动关闭"(auto-off)模式,把启动画面隐藏
- 急,,,字符串问题?
- 请问删除一个array内相同的整数的函数应该怎样写?谢谢
- 怎样在FRAME中显示图片啊?
- 什麽是filter?大家给讲讲,百分相送
- 请教高手们,
- 为什么JAVA中float和double型的数据相减时,会出现错误结果???
- 3个java类源文件,互相关连调用,编译哪一个都需要另2个,所以编译失败,Error #: 300
- 工作之余写的一个java版的小程序,可以聊聊天,发发帖子,请大家给些意见。
- 求jbuilder 4 enterprise 的注册码
- java 高难度
- 【求助】怎样访问父类的父类的同名属性?
希望这个文章对你有帮助了.
LD_LIBRARY_PATH