你们说
我已经连续3天试图让OpenCV Python绑定发生,而我(完全史诗般的奋斗是documented here)但是尽管在通过macports安装swig之后在CMake中打开了SWIG标志,我没有得到任何SWIG行动:(
我的cmake命令如下:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_SWIG_PYTHON_SUPPORT=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON -D BUILD_TESTS=ON -D PYTHON_INCLUDE_DIR=/opt/local/Library/Frameworks/Headers -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_SWIG_PYTHON_SUPPORT=ON -D CMAKE_CXX_COMPILER=/usr/bin/g++-4.2 -D CMAKE_C_COMPILER=/usr/bin/gcc-4.2 ..
引发了这个错误:
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - not found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
所以我猜它找不到我所拥有的那个:
/opt/local/include/libavformat/avformat.h
我该怎么说呢?有点像
-D CMAKE_CXX_FLAGS="-I/opt/local/include" -D CMAKE_SHARED_LINKER_FLAGS="-L/opt/local/lib"
???
我正在使用OSX 10.5.8,Python 2.6通过Macports并编译最新的OpenCV-trunk。
答案 0 :(得分:0)
似乎cmake标志没有太大的区别。我变得系统化并将它们减少到最低限度:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_SWIG_PYTHON_SUPPORT=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D PYTHON_INCLUDE_DIR=/opt/local/Library/Frameworks/Python.framework/Headers -D CMAKE_CXX_COMPILER=/usr/bin/g++-4.2 -D CMAKE_C_COMPILER=/usr/bin/gcc-4.2 -D BUILD_SWIG_PYTHON_SUPPORT=ON ..
我设法编译了所有内容,但是当我厌倦了“导入cv”赢得Python时,我不断收到以下错误:
Fatal Python error: Interpreter not initialized (version mismatch?)
这是因为darwin上的编译器默认使用python的系统版本。我跟着some advice发现这就像一个魅力:
sudo chmod 000 /System/Library/Frameworks/Python.framework/
cmake ...
sudo chmod 755 /System/Library/Frameworks/Python.framework/
答案 1 :(得分:0)
如果你对新的(非SWIG)绑定没问题,那么无论如何都可以更好,你可以直接通过MacPorts安装:
sudo port install opencv +python26
或
sudo port install opencv +python27
酌情。