Mic*_*ael 6 python cmake virtualenv pybind11
我使用Python虚拟环境.基本上,它工作正常,但在编译一些Python绑定时遇到问题,即使用libIGL和pybind11.
CMake具有以下与Python相关的变量:
PYTHON_EXECUTABLE /users/me/libs/pyvenv/bin/python
PYTHON_INCLUDE_DIR /usr/include/python2.7
PYTHON_LIBRARY /usr/lib64/libpython2.7.so
Run Code Online (Sandbox Code Playgroud)
它似乎可以正确检测可执行文件,它是以前激活的虚拟环境的python3.5,但是它为包含和库找到了一些错误的2.7路径.
所以我想手动将这些路径设置到我的虚拟环境中.我浏览了虚拟环境的目录结构,我想我发现了包含在中/users/me/libs/pyvenv/include/python3.5m.但我找不到libpython*,*.so我的虚拟环境中根本没有文件.那么在那种情况下我应该使用哪个库?
限制 python 库以匹配 cmake 中找到的解释器的版本:
find_package(PythonInterp REQUIRED)
find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED )
Run Code Online (Sandbox Code Playgroud)
或者如果 cmake>=3.12 可用,则使用FindPython