JNI共享对象的问题

时间:2014-01-20 21:55:20

标签: java c++ java-native-interface

我正在使用jni,我正在尝试运行示例代码 我有一方

HelloJNI.java

javatoc_HelloJNI.h

在c的另一边

HelloJNI.cpp

一切都很好,直到我尝试制作.so 它给了我这个错误。

**/usr/bin/ld: error: /tmp/cc2Udvjs.o: requires dynamic R_X86_64_32 reloc which may                overflow at runtime; recompile with -fPIC**

所以我几乎坚持创建一个.SO 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

您需要更改编译选项以添加-fPIC标志。

gcc   -fPIC -c cc2Udvjs.c

gcc  -shared -o libWhatever.so cc2Udvjs.o 

https://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?style=printable&part=1&chap=3