好吧,我对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的创建中感谢您的帮助
您需要更改编译选项以添加-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; chap; chap; chap = 3