Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 共享对象的JNI问题_Java_C++_Java Native Interface - Fatal编程技术网

Java 共享对象的JNI问题

Java 共享对象的JNI问题,java,c++,java-native-interface,Java,C++,Java Native Interface,我在使用jni时遇到了问题,我正在尝试运行一个示例代码 我把它放在一边 HelloJNI.java 及 另一边是c HelloJNI.cpp 一切都很好,直到我试着做决定。所以 它给了我这个错误 **/usr/bin/ld: error: /tmp/cc2Udvjs.o: requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC** 所以我实际上

我在使用jni时遇到了问题,我正在尝试运行一个示例代码 我把它放在一边

HelloJNI.java

另一边是c

HelloJNI.cpp
一切都很好,直到我试着做决定。所以 它给了我这个错误

**/usr/bin/ld: error: /tmp/cc2Udvjs.o: requires dynamic R_X86_64_32 reloc which may                overflow at runtime; recompile with -fPIC**
所以我实际上被困在创造一个
感谢您的帮助

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

gcc   -fPIC -c cc2Udvjs.c

gcc  -shared -o libWhatever.so cc2Udvjs.o 

你是否考虑过消息的内容,并用FPIC交换机重新编译?因为这就是你要做的一切。jajaja,这是我的问题,我不知道用-fpic重新编译它的方法。这是一个编译器开关。将它与其他编译器开关放在一起。这不是一个谜。
gcc   -fPIC -c cc2Udvjs.c

gcc  -shared -o libWhatever.so cc2Udvjs.o