Скомпилируйте OpenCV 2.4.2 для Debian Lenny

Чтобы сохранить Q & A аспект:

У меня возникла странная проблема с последней версией (v.2.4.2) OpenCV, которая не удалось установить со следующей ошибкой:

В файле, включенном в /OpenCV -2.4.2/modules/core/src/system.cpp:460:
/OpenCV-2.4.2/release/modules/core/version_string.inc:37:1: предупреждение: отсутствует завершающий символ в файле, включенном в /OpenCV -2.4.2/modules/core/src/system.cpp:460: /OpenCV -2.4.2/release/modules/core/version_string.inc:37: ошибка: отсутствующий завершающий "символ

Так что пошло не так? Взгляните на мой ответ.

Ответ 1

Как упоминалось в этот отчет об ошибке, проблема - это старая версия (2.8.2) cmake. Таким образом, решение заключалось в том, чтобы получить новую копию источника cmake, скомпилировать ее и использовать для установки OpenCV.

Примечание 18/09/2012: Это также работает на Ubuntu 12.04 с cmake 2.8.9!

# get the cmake src
wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz

# extract archive
tar xfvz cmake-2.8.8.tar.gz

# build the new version
cd cmake-2.8.8
cmake . 
make 
sudo make install

# get the OpenCV src
wget -O OpenCV-2.4.2.tar.bz2 http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.2/OpenCV-2.4.2.tar.bz2/download

# extract it …
tar -xvf OpenCV-2.4.2.tar.bz2

# build it
mkdir build
cd build
/usr/local/bin/cmake -D CMAKE_BUILD_TYPE=RELEASE ..
make
sudo make install

# setup OpenCV
sudo echo "/usr/local/lib" >> /etc/ld.so.conf
sudo ldconfig

Что это.

Ответ 2

К сожалению, новый cmake зависит от более нового cmake, чем устаревший cmake 2.6-patch 0 в lenny. Чтобы компилировать cmake 2.8.8, как упоминалось выше, сначала вы должны скомпилировать CMake 2.6.3 или выше, который строит с lenny устаревшим cmake 2.6-patch 0.