2

CentOS システムに OpenCV ライブラリをインストールしようとしていましたが、cmake で構成した後に make と入力して 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 をすぐにインストールする必要があります。

4

2 に答える 2

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 ..

しかし、もちろん、PythonでOpenCVを使用することはできなくなりました。

于 2010-08-12T08:35:01.737 に答える
1

Python 関数all()はバージョン 2.5 で導入されました。all()Python 言語にまだ存在しないバージョンでコンパイルしている可能性があります。

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 ラッパーの残りの部分も同様です。

于 2010-08-06T12:07:28.620 に答える