【发布时间】:2012-11-28 22:15:05
【问题描述】:
我用 C++ 编写程序,从中创建共享库 - 完成后它将被 JNI 使用。我有第 3 方库( libexample.a ),需要将其链接到共享库( libshared.so )。问题是,我在 64 位 CentOS 上工作,并且需要 -fPIC 来创建共享库,但是第 3 方库没有使用 -fPIC 编译。
直到我收到:
/usr/bin/ld: /home/tom/Project/src/libexample.a(SomeObject.o): relocation R_X86_64_32 against 'someData' can not be used when making a shared object; recompile with -fPIC
在这种情况下是否可以制作共享库? (我没有 libexample.a 的源代码...)
有什么解决方法可以让它工作吗?甚至是我必须编写其他应用程序的想法。
我希望我的问题不会重复(或多或少),因为我花了很长时间寻找可能性。 谢谢,贝兹
【问题讨论】:
标签: c++ linux java-native-interface shared-libraries static-libraries