gpt4 book ai didi

python - 即使我正在链接必要的静态库,cython 模块也会引发 ImportError

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:59 27 4
gpt4 key购买 nike

我的 cython 模块构建良好,但是当我尝试导入它时出现以下错误:

ImportError: ./pyflite.so: undefined symbol: basic_ff_register

这是我的 setup.py。

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension("pyflite",
["pyflite.pyx"],
extra_objects=[
"/usr/local/lib/libflite.a",
"/usr/local/lib/libflite_cmulex.a",
"/usr/local/lib/libflite_usenglish.a",
"/usr/local/lib/libflite_cmu_us_slt.a"])]

setup(
name = 'pyflite',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)

如您所见,由于库是静态的,我必须将它们添加到 extra_objects 而不是 libraries

这是让我困惑的地方:

nm -o --defined-only /usr/local/lib/*.a | grep 'basic_ff_register'

/usr/local/lib/libflite.a:cst_ffeatures.o:00000000000017a0 T basic_ff_register

这是否意味着该函数在我链接的 libflite.a 中?

如有任何帮助,我们将不胜感激

-斯科特

最佳答案

尝试颠倒链接静态库的顺序。 libflite.a(缺少符号的地方)不应该是第一个。

关于python - 即使我正在链接必要的静态库,cython 模块也会引发 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28273806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com