【发布时间】:2014-12-10 18:20:57
【问题描述】:
我有一个 python 扩展模块 (2.7)(由 swig 生产),它本身链接到一个链接到 Python 3.33 的库。即使模块链接到 3.33 版本,当它被实例化时,它也会调用 2.7 定义的 PyFunc,而不是 3.33 中定义的 PyFunc。这仅在 linux 上发生,并且在 Windows 上运行良好。我是否需要传递特定的链接器标志以避免此类问题?
谢谢!
【问题讨论】:
-
你有链接到 Python 3.X 的库的代码吗?这个链接是静态完成的还是通过 dlopen/LoadLibrary 完成的?
-
是的,我有代码,它与 gcc 命令行上的 -lpython 动态链接。你建议静态链接吗?这将阻止我加载其他模块,而这些模块无法查找动态库..