CMakeとSwig for Python3を使って私のCライブラリ用のPythonラッパーモジュールをビルドすることができません。 Python2.xではすべてうまく動作しますが、CMakeがPython3を見つけることができないようです。私はすでに周りを見回し、いくつかのことを試しました。CMakeはPython3をサポートしていますか?
たとえば、私がpython
実行可能なPython3へのリンクです。私がCMakeを読むと、まずこのバージョンが見つかるでしょう。
ここCMakeLists.txt
のSWIGの一部をご覧ください。
FIND_PACKAGE(SWIG REQUIRED)
INCLUDE(${SWIG_USE_FILE})
FIND_PACKAGE(PythonInterp 3)
FIND_PACKAGE(PythonLibs 3)
FIND_PATH(PYTHON_INCLUDE_PATH Python.h
/usr/include
/usr/local/include)
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
SET(CMAKE_SWIG_FLAGS "")
SET_SOURCE_FILES_PROPERTIES(kissCT3.i PROPERTIES CPLUSPLUS ON)
#SET_SOURCE_FILES_PROPERTIES(kissCT3.i PROPERTIES SWIG_FLAGS "-includeall -py3")
SWIG_ADD_MODULE(kissCT3 python kissCT3.i)
SWIG_LINK_LIBRARIES(kissCT3 libct2d matio kissfft ${PYTHON_LIBRARIES})
は残念ながら、cmakeのを呼び出した後の出力のみpython2.7が発見されていることを示しています
-- Found SWIG: /usr/bin/swig2.0 (found version "2.0.4")
-- Found PythonInterp: /usr/bin/python2.7 (Required is at least version "3")
-- Found PythonLibs: /usr/lib/libpython2.7.so (Required is at least version "3")
-- Configuring done
-- Generating done
を参照してください、私はあなたがのpython3をサポートPython用のファインダモジュールの独自のバージョンを作ることを示唆しようと同じであることを入れました。フォルダをCMakelists.txtとして表示しますが、cmake-2.8.11.Xはpython3を直接サポートしているようです。あなたは古いバージョンのcmakeを持っていますか? – drescherjm
私はcmakeバージョン2.8.5を使用しています。だから、これは問題かもしれない、私はそれを調べる、ありがとう! – mijc