Скомпилируйте OpenCV 2.4.2 для Debian Lenny
Чтобы сохранить аспект вопросов и ответов:
У меня возникла странная проблема с последней (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: ошибка: отсутствует завершающий символ
Так что пошло не так? Посмотрите на мой ответ.
2 ответа
Как упомянуто в этом сообщении об ошибке, проблема в старой версии (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
Вот и все.
К сожалению, более новый cmake зависит от более нового cmake, чем устаревший cmake 2.6-patch 0 в lenny. Чтобы скомпилировать cmake 2.8.8, как упоминалось выше, сначала вы должны скомпилировать CMake 2.6.3 или выше, который собирает с помощью lenny устаревшего cmake 2.6-patch 0.