我对 python 及其 C++ 包装器(如 boost python)还比较陌生。 我试图让 OpenMesh C++ 库 python 绑定(bind)与 python 3 一起工作。
有人知道它是否已经可行吗? OpenMesh 变更日志中有一些提示,一年前添加了一些针对 python 3 的测试。 https://graphics.rwth-aachen.de:9000/OpenMesh/OpenMesh/commit/c6382d800ffb9b48347e748a32e658697125d5b2
所以我尝试构建最新的 BoostPython
./bootstrap.sh --with-libraries=signals,thread,python --with-python=/usr/bin/python3.4
./b2
将所有环境变量设置为 http://www.openmesh.org/Daily-Builds/Doc/a00036.html
OpenMesh 完美地构建了一个美妙的 openmesh.so。
但是尝试将它与 Python3 解释器输出一起使用:
>>> import sys
>>> sys.path.append('/home/.../OpenMesh-4.1/build/Build/python')
>>> import openmesh
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define init function (PyInit_openmesh)
Python 2 工作正常,所以这是不可能的还是我做错了什么?
感谢和问候
请您参考如下方法:
显然,您需要 cmake 3.x 才能使用 python 3.x 进行构建。 -> 已解决:)
