免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 Java JNI求救
最近访问板块 发新帖
查看: 1843 | 回复: 3
打印 上一主题 下一主题

JNI求救 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-23 13:23 |只看该作者 |倒序浏览
现在中兴公司给我们提供了一个短信网关的api开发包,我们可以把这个包编译成可执行文件,但是始终编译不成动态库(因为我们需要用java来调用),一直报错:
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status

编译命令是
g++ -shared -fPIC -o libSmgpInterface.so SmgpInterface.o   /export/home/support/zhaoyu/smg/123/smgwapi.a -lpthread -lsocket -lnsl -lg2c
其中smgwapi.a是中兴提供的。

谁遇到过这种问题吗?是不是.a的文件不能编译成.so啊。机器是 solaris5.8下载的gcc是3.4版本。

论坛徽章:
0
2 [报告]
发表于 2007-01-23 15:44 |只看该作者
jni是挺麻烦的,有时我宁愿用Runtime.exec(),也不想用jni

论坛徽章:
0
3 [报告]
发表于 2007-01-24 16:48 |只看该作者
编一个程序把它封装一下再用啊! 你有了它的.a文件, 再编一个程序来调用它, 然后把你自己的程序编译成SO文件不就行了吗? 更何况人家的包就算你编译成了SO文件也没用, 因为JAVA的数据类型和C++的类型不一样, 所以你是必须先用C++作一个封装程序来桥接的!

论坛徽章:
0
4 [报告]
发表于 2007-01-24 18:09 |只看该作者
看看的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP