python - python和swig版本兼容性问题
问题描述
我以前使用 python 2.7.9 使用 swig(版本 2.0.12)包装一些 c++ 代码,并且一切正常。然后我切换到 python 3.7.3 并且像以前一样在运行 swig 时遇到了问题。
这是我的终端中的错误消息:
ImportError: /home/_add_array.so: undefined symbol: PyClass_Type
我可以想象两种可能的解决方案:
需要更改我为使 swig 生成文件而使用的命令行命令。
我需要更新到更新版本的 swig。
如果是第一种情况,我以前的命令不正确怎么办:
swig -c++ -python add_array.i
g++ -fpic -c add_array_wrap.cxx add_array.h add_array.cpp -I/usr/include/python2.7
g++ -shared add_array_wrap.o add_array.o -o _add_array.so
如果是情况2,什么版本的swig兼容python 3.7.3?我正在运行 Ubuntu,以防万一。
谢谢!
解决方案
这部分肯定是错误的:
-I/usr/include/python2.7
您需要更新它以指向新的 Python 3.7 安装。
推荐阅读
- r - 将 R 中的向量转换为嵌套列表
- c# - 没有 Http 上下文的 C# AutoFac 注入(外部控制器)
- python - Python 正则表达式未识别 \% 和 \^
- python-3.x - 使用不带 from 的相对导入
- r - 在R中按符号拆分数据帧中的字符串
- reactjs - React Native - 如何从屏幕传递到另一个屏幕?
- heroku - 没有 RedisToGo 附加组件的 Heroku 上的 Redis
- javascript - 将两个字符串组合在一起
- asp.net-mvc - AppVeyor CI - Azure 应用服务多环境部署
- regex - django中命名组url中匹配正则表达式的顺序