首页 > 解决方案 > 如何使用某些程序的符号将自定义 Python 模块加载到该程序中?

问题描述

我正在为 C 应用程序和在其中运行的 Python 解释器创建一个自定义 Python 模块。我有一个问题,尝试使用 SWIG,现在使用 Cython,结果是一样的:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/root/Dokumenty/app/ext.py", line 15, in <module>
    from _mc import *
ImportError: /root/Dokumenty/app/ext.so: undefined symbol: \
    edit_widget_is_editor

即:尽管所有应用程序的符号都在那里,加载到其中......他们?

如何解决这个问题呢?SWIG 在一个文档页面上说“链接整个应用程序”与 Python.so模块,但恕我直言,这是一派胡言——它将创建一组单独的符号(已确认),基本上将模块和应用程序分开......</p>

如何让加载的.soPython 模块识别应用程序映像中的符号?

标签: linkercythonlinker-errorsswigpython-embedding

解决方案


推荐阅读