在OpenCV Linux安装文档中,
但另一些则含糊不清。
使用CMake从源代码构建OpenCV
一节提到需要运行类似以下的命令:cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
同时,Python有一些给定的参数:
[optional] Building python. Set the following python parameters:
PYTHON2(3)_EXECUTABLE = <path to python>
PYTHON_INCLUDE_DIR = /usr/include/python<version>
PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python<version>
PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython<version>.so
PYTHON2(3)_NUMPY_INCLUDE_DIRS = /usr/lib/python<version>/dist-packages/numpy/core/include/
这些参数中有些可以轻松地为 Python 的两个版本设置:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON2_EXECUTABLE=/usr/bin/python -D PYTHON3_EXECUTABLE=/usr/bin/python3 ..
但另一些则含糊不清。
PYTHON_INCLUDE_DIR = /usr/include/python<version>
是否有可能同时构建两个版本的Python?
cmake/OpenCVDetectPython.cmake
文件 ... 接近底部。那里有两个完整的变量集,一个以PYTHON2
为前缀,另一个以PYTHON3
为前缀。(例如,我在那里看到了PYTHON2_INCLUDE_DIR
和PYTHON3_INCLUDE_DIR
)。 - Dan Mašek