2010-01-07 41 views
1

你們說SWIG Python綁定的OpenCV 2.0 MacPorts的

我一直在以3天試圖讓OpenCV的Python的結合發生的事情,我已經(完整的較量是documented here),但儘管轉向在C進行痛飲標誌通過安裝MacPorts的痛飲後,我沒有得到任何痛飲行爲:(

我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。

回答

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 .. 

,我設法編譯一切,但是當我累了「進口品種」贏的Python我一直得到以下錯誤:

Fatal Python error: Interpreter not initialized (version mismatch?) 

這是因爲達爾文的編譯器默認爲python的系統版本。我跟着some advice,發現這個工作就像一個魅力:

sudo chmod 000 /System/Library/Frameworks/Python.framework/ 
cmake ... 
sudo chmod 755 /System/Library/Frameworks/Python.framework/ 
0

如果你確定與新的(非痛飲)綁定,這恕我直言,是更好,無論如何,你可以直接通過MacPorts的安裝:

sudo port install opencv +python26 

sudo port install opencv +python27 

適當。

又見How to install OpenCV for python

+0

看起來像Python綁定是一個變種 - 爲+ python26需要? – 2010-12-14 22:38:59

+0

啊......可能是。編輯我的答案 - 謝謝! – 2010-12-14 22:45:05