1

我对 python 及其 C++ 包装器(如 boost python)比较陌生。我试图让 OpenMesh C++ 库 python 绑定与 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 工作正常,所以这是不可能的还是我做错了什么?

感谢和问候

4

2 回答 2

3

显然您需要 cmake 3.x 才能使用 python 3.x 构建。-> 解决了:)

于 2015-11-24T13:36:36.663 回答
2

以防万一有人再次使用 Python3 偶然发现 OpenMesh,我为 Anaconda Python 3.5 和 3.6 构建了它,并将其上传到了 github。

https://github.com/qd-cae/Openmesh-Anaconda-Precompiled

于 2017-04-04T13:31:57.840 回答