libpython2.7.a缺少许多引用

时间:2014-04-20 00:45:24

标签: python ubuntu gcc cython

我正在尝试使用cython编译-static模块,但是我在libpython2.7.a中错过了有关错过引用的错误。例如:

    /usr/lib/x86_64-linux-gnu/libpython2.7.a(complexobject.o): In function `_Py_c_pow':
    (.text.unlikely+0x507): undefined reference to `pow'

我已经安装了软件包build-essential,这是我在Google上找到的一种解决方案。

我的工作流程是:

cython --embed hi.py
gcc hi.c -lpython2.7 -I /usr/include/python2.7 -static

我缺少什么能够静态链接此文件?

编辑:添加了其他链接器选项 gcc hi.c -lpython2.7 -lm -pthread -lzlib -I /usr/include/python2.7 -static

对未定义函数的所有引用都消失了,但是ld说它无法找到lzlib,因此编译仍然失败。没有-lzlib我仍然会得到一些未定义的引用。

1 个答案:

答案 0 :(得分:0)

当您的包管理器向您显示时,zlib的库为libz.so,因此您必须通过-lz

问题所有者添加: 对于其他人的参考,所有链接器选项都需要-lpython2.7 -lm -ldl -lutil -lz -pthread