使用Python3创建cgal-swig绑定的正确方法

时间:2017-11-06 21:05:15

标签: python-3.x cmake swig cgal

我想在Python3中使用cgal-swig-bindings,并且想知道如何正确地更改安装过程,以便Python3可以使用。我让这个工作,但可能有更好的方法来实现这一目标。 (我没有使用Swig或提升的经验。)

我正在按照cgal-swig-bindings的安装说明进行操作:https://github.com/CGAL/cgal-swig-bindings/wiki/Installation 在Ubuntu机器上。

我开始工作,以便使用默认的python2.7运行cgal-swig-bindings / examples / python / triangulation_prog1.py。

使用Python3运行时,我得到了:

dynamic module does not define module export function

我设法通过更改cgal-swig-bindings / CMakeLists.txt包含以下内容来破解它:

SET(PYTHON_INCLUDE_PATH /usr/include/python3.5m)
SET(PYTHON_LIBRARIES /usr/lib/x86_64-linux-gnu/libpython3.5m.so)
SET(PYTHON_EXECUTABLE /usr/bin/python3.5m)
SET(PYTHON_INCLUDE_DIR  /usr/include/python3.5m)
SET(Python_ADDITIONAL_VERSIONS 3.5)
FIND_PACKAGE(PythonInterp 3 REQUIRED)
FIND_PACKAGE(PythonLibs 3 REQUIRED)

只需使用:

FIND_PACKAGE(PythonInterp 3 REQUIRED)
FIND_PACKAGE(PythonLibs 3 REQUIRED)

还不够。

运行cmake并再次制作适用于Python3的东西(现在Python2失败了,这对我来说还可以)。即,triangulation_prog1.py可以使用Python3运行。

我使用了以下cmake命令:

cmake -DCGAL_DIR=/usr/lib/x86_64-linux-gnu/cmake/CGAL -DBUILD_JAVA=OFF -DPYTHON_OUTDIR_PREFIX=../../examples/python ../..

有没有更好的方法来启用Python3支持?也许,通过在cmake上使用一些命令行参数?

0 个答案:

没有答案