我正在使用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 谢谢你的帮助
答案 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