2012-05-03 80 views
5

的OpenCV它的OpenCV-2.4.0不能从源代码安装

cd opencv 
mkdir release 
cd release 
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON .. 
make 

错误:

In file included from OpenCV-2.4.0/modules/core/src/system.cpp:460: 
OpenCV-2.4.0/release/modules/core/version_string.inc:35:1: warning: missing terminating " character 
In file included from OpenCV-2.4.0/modules/core/src/system.cpp:460: 
OpenCV-2.4.0/release/modules/core/version_string.inc:35: error: missing terminating " character 
OpenCV-2.4.0/release/modules/core/version_string.inc:36:11: error: too many decimal points in number 
OpenCV-2.4.0/release/modules/core/version_string.inc:36:29: error: invalid suffix "st" on integer constant 
OpenCV-2.4.0/release/modules/core/version_string.inc:40:29: warning: character constant too long for its type 
OpenCV-2.4.0/release/modules/core/version_string.inc:57: error: stray ‘@’ in program 
OpenCV-2.4.0/release/modules/core/version_string.inc:57: error: stray ‘@’ in program 
OpenCV-2.4.0/release/modules/core/version_string.inc:68:10: error: #include expects "FILENAME" or <FILENAME> 
OpenCV-2.4.0/release/modules/core/version_string.inc:71: error: stray ‘\’ in program 
OpenCV-2.4.0/release/modules/core/version_string.inc:71:9: warning: missing terminating " character 
OpenCV-2.4.0/release/modules/core/version_string.inc:71: error: missing terminating " character 
OpenCV-2.4.0/release/modules/core/version_string.inc:74:23: warning: missing terminating " character 
OpenCV-2.4.0/release/modules/core/version_string.inc:1515: error: stray ‘\’ in program 
OpenCV-2.4.0/release/modules/core/version_string.inc:1515:4: warning: missing terminating " character 
OpenCV-2.4.0/release/modules/core/version_string.inc:1515: error: missing terminating " character 
OpenCV-2.4.0/release/modules/core/version_string.inc: In function ‘const std::string& cv::getBuildInformation()’: 
OpenCV-2.4.0/release/modules/core/version_string.inc:36: error: expected ‘,’ or ‘;’ before ‘version’ 
OpenCV-2.4.0/release/modules/core/version_string.inc:138: error: ‘z_stream’ was not declared in this scope 
OpenCV-2.4.0/release/modules/core/version_string.inc:140: error: expected ‘;’ before ‘typedef’ 
OpenCV-2.4.0/release/modules/core/version_string.inc:161: error: ‘gz_header’ was not declared in this scope 
OpenCV-2.4.0/release/modules/core/version_string.inc:163: error: expected ‘;’ before ‘typedef’ 
OpenCV-2.4.0/release/modules/core/version_string.inc:1505: error: ‘ZEXTERN’ was not declared in this scope 
OpenCV-2.4.0/release/modules/core/version_string.inc:1505: error: expected ‘;’ before ‘const’ 
OpenCV-2.4.0/release/modules/core/version_string.inc:1511: warning: no return statement in function returning non-void 
OpenCV-2.4.0/release/modules/core/version_string.inc: At global scope: 
OpenCV-2.4.0/release/modules/core/version_string.inc:1515: error: expected unqualified-id before ‘)’ token 
OpenCV-2.4.0/modules/core/src/system.cpp:462: error: expected unqualified-id before ‘return’ 
OpenCV-2.4.0/modules/core/src/system.cpp:465: error: ‘string’ does not name a type 
OpenCV-2.4.0/modules/core/src/system.cpp:474: error: ‘string’ does not name a type 
OpenCV-2.4.0/modules/core/src/system.cpp:503: error: ISO C++ forbids declaration of ‘Exception’ with no type 
OpenCV-2.4.0/modules/core/src/system.cpp:503: error: expected ‘,’ or ‘...’ before ‘&’ token 
OpenCV-2.4.0/modules/core/src/system.cpp: In function ‘void error(int)’: 
OpenCV-2.4.0/modules/core/src/system.cpp:506: error: ‘exc’ was not declared in this scope 
OpenCV-2.4.0/modules/core/src/system.cpp:510: error: ‘exc’ was not declared in this scope 
OpenCV-2.4.0/modules/core/src/system.cpp:526: error: ‘exc’ was not declared in this scope 
OpenCV-2.4.0/modules/core/src/system.cpp: At global scope: 
OpenCV-2.4.0/modules/core/src/system.cpp:543: error: expected declaration before ‘}’ token 
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1 
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 
make: *** [all] Error 2 

我应该怎么办?

+0

编写一个错误报告。 http://code.opencv.org/ – ypnos

+0

@ypnos,请不要鼓励虚假错误报告。 – fireant

+1

@Shambool,这不是假的。 OpenCV2.4.0无法在Debian 6.0上构建。 – etarion

回答

7

我在Debian 6.0上构建OpenCV-2.4.0的时候遇到了同样的问题。看着release/modules/core/version_string.inc显示缺失的"也是一个缺少的评论/*,发生在using zlib v1:1.2.3.4.dfsg-3。我用BUILD_ZLIB重新配置,并没有问题。

+3

由于CMake 2.8.2错误,构建失败。详情请参阅http://code.opencv.org/issues/1902。 –

2

我刚刚下载的OpenCV从仓库中(转8300)2.4.0来源和我没有任何问题,它构建在Linux上:

$ svn info 
Path: . 
URL: http://code.opencv.org/svn/opencv/tags/2.4.0/opencv 
Repository Root: http://code.opencv.org/svn/opencv 
Repository UUID: c5418bc3-7546-4aae-8bad-fa6f2f3e53e6 
Revision: 8300 
Node Kind: directory 
Schedule: normal 
Last Changed Author: marina.kolpakova 
Last Changed Rev: 8282 
Last Changed Date: 2012-04-30 16:06:37 -0300 (Mon, 30 Apr 2012) 

$ mkdir build 
$ cd build 
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON .. 
$ make 

20分钟后一切都结束了,并成功编译。

+0

有人倒了我的答案,我希望他们解释为什么。 – karlphillip

3

我有同样的问题,我通过更换线改变的CMakeLists.txt文件:与

OCV_OPTION(BUILD_ZLIB    "Build zlib from source"   WIN32 OR IOS OR APPLE) 

OCV_OPTION(BUILD_ZLIB  "Build zlib from source" ON) # WIN32 OR IOS OR APPLE) 

,一切都得到很好。

0

我有同样的问题。看来错误来自cmake 2.8.2。我升级到2.8.8版本,最后我可以安装opencv 2.4.0。