编译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

那么出了什么问题? 看看我的答案。

+0

可能的重复[无法从源代码安装opencv](http: //*.com/questions/10429570/cant-install-opencv-from-source) – 2012-09-22 20:38:23

正如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

+1我见过一些抱怨这类问题的问题。从未想过要更新CMake。干得好! – karlphillip 2012-07-13 13:50:19

+0

如果我需要创建库的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.