2017-03-03 9 views
0

VTK 7.1.0のビルド中に、Ubuntu 16.04でpython 3.5.2を使用しているときにエラーが発生しました。 何回か検索しましたが、解決方法がわかりませんでした:/VTK 7.1.0 + Python 3.5.2 make error

解決策が見つかりませんでした。

いくつかの時間前、私は同じのpython 3.5.2を使用してVTKを構築し、それが働いていますが、何とかそれは今は動作しません。..

このエラーの一つの小さなスライスは、次のとおりです。

ファイル内に/home/joaoponte/Downloads/VTK-git/vtk/Wrapping/Python/vtkPythonAppInit.cxx:29:0: /home/joaoponte/Downloads/VTK-git/vtk-build/Wrapping/Python /vtkpythonmodules.h:関数 'void vtkpythonmodulesPythonLoadAllPythonModules()':

/home/joaoponte/Downloads /VTK-git/vtk-build/Wrapping/Python/vtkpythonmodules.h:125:68:エラー:PyObject()(」への無効な変換 'ボイド()()'){別名 _object( *)()} '[-fpermissive]

PyImport_AppendInittab(namevtkCommonCore、initvtkCommonCorePython); ^ /usr/include/python3.5m/Python.h:120:0からファイルに含まれる、/home/joaoponte/Downloads/VTK-git/vtk/Utilities/Python/vtkPython.h:80の /home/joaoponte/Downloads/VTK-git/vtk/Wrapping/Python/vtkPythonAppInit.cxx:18: /usr/include/python3.5m/import.h:109:17:注: 'intの2の初期化PyImport_AppendInittab(const char *、PyObject *(*)()) '

vtkpythonmodules.hファイルにリストされているすべてのモジュールで繰り返します。私はこれを見つけたvtkpythonmodules.hで

(その他):

extern void initvtkCommonCorePython(); 

と、この:

PyAPI_FUNC(int) PyImport_AppendInittab(
    const char *name,   /* ASCII encoded string */ 
    PyObject* (*initfunc)(void) 
    ); 

static char namevtkCommonCore[] = "vtkCommonCorePython"; 
PyImport_AppendInittab(namevtkCommonCore, initvtkCommonCorePython); 

とはPython.hでは、私はこれを見つけました

私はgitからダウンロードした最新のVTKバージョンと、Ubuntu 16.04のデフォルトのpython3を使用しています。設定にはccmakeを使用しました。

Pythonの実行ファイル、include_dirとライブラリがpython3.5mを使用していたが、私は同様にpython3.5を試してみましたが、あまりにも失敗した:(

誰もが はそれをのpython3の設定ミスですか?これを解決するための任意のアイデアを持っていますまたは任意の他の私のシステムで

EDIT:?(?)私は、Python 2.7からimport.hファイルで、PyImport_AppendInittabが "右" であると考えられることがわかってきたものを...

PyAPI_FUNC(int) PyImport_AppendInittab(const char *name, void (*initfunc (void)); 

その間にccmakeエラーが発生しましたか?構成プロセス? 私はpython3.5を選択しましたが、vtkpythonmodules.hはextern voidを使って作成されました。

答えて

0

私はUbuntuにVTKをインストールするのに慣れていませんが、私たちはcondaを使ってVTKをインストールしました。あなたはそれでもっと運があるかもしれません: conda install -c conda-forge vtk=7.1.0

+0

ありがとう!あなたが私に与えたコードは使用しませんでした。なぜなら、cuda-forgeのvtkはPython 2.7を使用していて、むしろPython 3.5+を使用していたからです。しかし、あなたは私に正しい方法をくれました! 私の場合は、Python 3.6を使ってインストールしました: 'conda install -c clinicalgraphics vtk = 7.1.0' –