Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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
将静态库(不带-fPIC)链接到64位操作系统上的共享库 我用C++编写程序,从中可以共享库,JNI使用它。我有第三方库(libexample.a),需要将其链接到共享库(libshared.so)。问题是,我在64位CentOS上工作,创建共享库需要-fPIC,但第三方库不是用-fPIC编译的_C++_Linux_Java Native Interface_Shared Libraries_Static Libraries - Fatal编程技术网

将静态库(不带-fPIC)链接到64位操作系统上的共享库 我用C++编写程序,从中可以共享库,JNI使用它。我有第三方库(libexample.a),需要将其链接到共享库(libshared.so)。问题是,我在64位CentOS上工作,创建共享库需要-fPIC,但第三方库不是用-fPIC编译的

将静态库(不带-fPIC)链接到64位操作系统上的共享库 我用C++编写程序,从中可以共享库,JNI使用它。我有第三方库(libexample.a),需要将其链接到共享库(libshared.so)。问题是,我在64位CentOS上工作,创建共享库需要-fPIC,但第三方库不是用-fPIC编译的,c++,linux,java-native-interface,shared-libraries,static-libraries,C++,Linux,Java Native Interface,Shared Libraries,Static Libraries,直到我收到大楼: /usr/bin/ld:/home/tom/Project/src/libexample.a(SomeObject.o):创建共享对象时,不能使用针对“someData”的重新定位R_X86_64_32;使用-fPIC重新编译 在这种情况下,是否可以创建共享库?(我没有libexample.a的源代码…) 有什么办法可以让它工作吗?甚至在我需要编写附加应用程序的时候,我也会有一些想法 我希望我的问题不会重复(或多或少),因为我花了很长时间寻找可能性。 谢谢,贝兹,没有任何解决办

直到我收到大楼:
/usr/bin/ld:/home/tom/Project/src/libexample.a(SomeObject.o):创建共享对象时,不能使用针对“someData”的重新定位R_X86_64_32;使用-fPIC重新编译

在这种情况下,是否可以创建共享库?(我没有libexample.a的源代码…)

有什么办法可以让它工作吗?甚至在我需要编写附加应用程序的时候,我也会有一些想法

我希望我的问题不会重复(或多或少),因为我花了很长时间寻找可能性。
谢谢,贝兹,没有任何解决办法。我不得不写信给第三方库开发人员,让他们用
-fPIC

再次编译,尝试以下方法:

设置\u属性(目标为其irlib属性位置\u独立\u代码打开)

这将在第三方项目上设置fPIC选项