Привязки SWIG Python для OpenCV 2.0 с MacPorts - PullRequest
1 голос
/ 07 января 2010

Y'all,

Я уже 3 дня пытаюсь добиться связывания OpenCV Python, и у меня (полная эпическая борьба задокументирована здесь ), но несмотря на включение флага SWIG в CMake после установки swig через macports я не получаю никаких действий 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.

Ответы [ 2 ]

0 голосов
/ 15 декабря 2010

Если вы согласны с новыми (не SWIG) привязками, которые в любом случае лучше, вы можете просто установить их напрямую через MacPorts:

sudo port install opencv +python26

или

sudo port install opencv +python27

в зависимости от ситуации.

См. Также Как установить OpenCV для Python

0 голосов
/ 08 января 2010

Кажется, что флаги 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" win 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/
...