libpython2.7.a失踪的许多参考(libpython2.7.a missing many

2019-10-19 23:14发布

我尝试编译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安装,这是一个解决方案,我在谷歌找到。

我的工作流程是:

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我仍然得到一些未定义的引用。

Answer 1:

当你的包管理器会告诉你,为的zlib库是libz.so ,因此你必须通过-lz

添加人质疑业主:对于其他的参考所有的连接选项需要-lpython2.7 -lm -ldl -lutil -lz -pthread



文章来源: libpython2.7.a missing many references