[英]SWIG Python bindings for OpenCV 2.0 with MacPorts
你們,
我已經花了三天時間嘗試使OpenCV Python綁定發生,並且我已經(完整的史詩般的斗爭記錄在這里 ),但是盡管在通過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"
???
我通過Macports使用OSX 10.5.8,Python 2.6,並編譯了最新的OpenCV-trunk。
似乎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的系統版本。 我聽了一些建議 ,發現它像一種魅力:
sudo chmod 000 /System/Library/Frameworks/Python.framework/
cmake ...
sudo chmod 755 /System/Library/Frameworks/Python.framework/
如果您對較新的(非SWIG)綁定沒問題,反而是更好,您可以直接通過MacPorts安裝:
sudo port install opencv +python26
要么
sudo port install opencv +python27
作為適當的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.