我一直在尝试将OpenCV库安装到我的centos系统,但是当我输入make并在配置cmake后按Enter键时,我收到以下错误:
[100%] Building CXX object tests/cv/CMakeFiles/cvtest.dir/src/amoments.o
[100%] Building CXX object tests/cv/CMakeFiles/cvtest.dir/src/affine3d_estimator.o
[100%] Building CXX object tests/cv/CMakeFiles/cvtest.dir/src/acontours.o
[100%] Building CXX object tests/cv/CMakeFiles/cvtest.dir/src/areprojectImageTo3D.o
Linking CXX executable ../../bin/cvtest
CMakeFiles/cvtest.dir/src/highguitest.o: In function `CV_HighGuiTest::run(int)':
highguitest.cpp:(.text._ZN14CV_HighGuiTest3runEi+0x15): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
[100%] Built target cvtest
make: *** [all] Error 2
有趣的是,一旦我收到此错误:
[ 99%] Built target mltest
[ 99%] Generating generated0.i
Traceback (most recent call last):
File "/home/proje/OpenCV-2.1.0/interfaces/python/gen.py", line 43, in ?
if True in has_init and not all(has_init[has_init.index(True):]):
NameError: name 'all' is not defined
make[2]: *** [interfaces/python/generated0.i] Error 1
make[1]: *** [interfaces/python/CMakeFiles/cvpy.dir/all] Error 2
make: *** [all] Error 2
这些错误的原因可能是什么?我需要立即在这台计算机上安装opencv。
答案 0 :(得分:3)
我遇到了这个问题..这是Python界面...... 默认情况下,Python 2.4安装在CentOS上,并且不容易升级到> 2.6。
当OpenCV构建时,它会被Python版本混淆......
所以我在“cmake”上禁用了Python接口,这没关系。
cmake -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX = / usr / local -D BUILD_NEW_PYTHON_SUPPORT = NO ..
但是,当然你不能再使用OpenCV和Python了。
答案 1 :(得分:1)
Python函数all()
是在2.5版本中引入的。您可能正在使用Python语言中不存在all()
的版本进行编译。
根据Python Built-in Functions List,all()
相当于:
def all(iterable):
for element in iterable:
if not element:
return False
return True
您可能还需要定义any()
。它相当于:
def any(iterable):
for element in iterable:
if element:
return True
return False
但很可能,如果安装脚本需要Python 2.5,那么Python包装器的其余部分也是如此。