【发布时间】:2014-04-20 00:45:23
【问题描述】:
我正在尝试用-static 编译cython 模块,但是我收到很多关于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,我仍然会得到一些未定义的引用。
【问题讨论】: