编译OpenCV的2.4.2 Debian的莱尼
为了保持第q &方面:编译OpenCV的2.4.2 Debian的莱尼
我得到了最新的(v.2.4.2)OpenCV的版本,它失败,出现以下安装一个奇怪的问题错误:
In file included from /OpenCV-2.4.2/modules/core/src/system.cpp:460:
/OpenCV-2.4.2/release/modules/core/version_string.inc:37:1: warning: missing terminating " character In file included from /OpenCV-2.4.2/modules/core/src/system.cpp:460: /OpenCV-2.4.2/release/modules/core/version_string.inc:37: error: missing terminating " character
那么出了什么问题? 看看我的答案。
正如this bug report所述,问题是cmake的旧版本(2.8.2)。因此,解决方案是获取cmake源代码的全新副本,编译并使用它来安装OpenCV。
注意2012年9月18日:这也适用于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
就是这样。
+1我见过一些抱怨这类问题的问题。从未想过要更新CMake。干得好! – karlphillip 2012-07-13 13:50:19
如果我需要创建库的SO文件,该怎么办? – 2013-10-10 06:29:54
不幸的是,较新的cmake依赖于比lenny中过时的cmake 2.6-patch 0更新的cmake。要编译上面提到的cmake 2.8.8,首先必须编译CMake 2.6.3或更高版本,并使用lenny过时的cmake 2.6修补程序0.
可能的重复[无法从源代码安装opencv](http: //*.com/questions/10429570/cant-install-opencv-from-source) – 2012-09-22 20:38:23