我正在尝试制作一个共享库,它由一个 C 头文件和两个 C 源文件组成,其中一个调用 Python 文件来实现。使用的编译命令是
gcc -fPIC -c -II/usr/local/include -I/usr/local/include -I/usr/local/include/python3.4m -I/usr/local/include/python3.4m -DNDEBUG -g - fwrapv -O0 -Wall -Wstrict-prototypes -DDOUBLE_PRECISION *.c
我能够编译所有这些而没有任何错误,但是当我尝试使用以下命令创建共享对象文件时
gcc *.o -L/usr/local/lib -lpthread -ldl -lutil -lm -Xlinker -export-dynamic /usr/local/lib/python3.4/config-3.4m/libpython3.4m.a -shared - o libroughness.so
我收到以下我无法解决的错误
/usr/bin/ld: /usr/local/lib/python3.4/config-3.4m/libpython3.4m.a(abstract.o): 重定位 R_X86_64_32S 反对 `_PyObject_NextNotImplemented' 在制作共享对象时不能使用;使用 -fPIC /usr/local/lib/python3.4/config-3.4m/libpython3.4m.a 重新编译:无法读取符号:错误值 collect2:ld 返回 1 退出状态
我在编译时使用 -fPIC 标记,但它仍然要求我使用 fPIC 重新编译。任何有关如何解决此案的帮助将不胜感激。