2013-08-01 1 views
0

OpenCV 2.4.6은 CUDA 5.5에 대한 지원을 추가하지만 실패한 빌드 시도는 실패합니다. CUDA는 Fedora 18의 저장소에서 설치됩니다. CUDA를 지원하지 않는 OpenCV 자체도 잘 진행되고 있습니다.Fedora 19에서 CUDA 5.5가있는 OpenCV 2.4.6을 컴파일 할 수 없습니다.

[ 1%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/gpumat.cpp.o 
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:288:52: error: 'bool cv::gpu::deviceSupports(cv::gpu::FeatureSet)' should have been declared inside 'cv::gpu' 
bool cv::gpu::deviceSupports(FeatureSet feature_set) 
                ^
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp: In function 'bool cv::gpu::deviceSupports(cv::gpu::FeatureSet)': 
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:288:6: warning: no previous declaration for 'bool cv::gpu::deviceSupports(cv::gpu::FeatureSet)' [-Wmissing-declarations] 
bool cv::gpu::deviceSupports(FeatureSet feature_set) 
    ^
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp: At global scope: 
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:359:49: error: no 'size_t cv::gpu::DeviceInfo::sharedMemPerBlock() const' member function declared in class 'cv::gpu::DeviceInfo' 
size_t cv::gpu::DeviceInfo::sharedMemPerBlock() const 
               ^
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp: In function 'void cv::gpu::createContinuous(int, int, int, cv::gpu::GpuMat&)': 
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:794:6: error: redefinition of 'void cv::gpu::createContinuous(int, int, int, cv::gpu::GpuMat&)' 
void cv::gpu::createContinuous(int rows, int cols, int type, GpuMat& m) 
    ^
In file included from /home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:44:0: 
/home/lucky/programming/sphinx/build/output/include/opencv2/core/gpumat.hpp:551:17: error: 'void cv::gpu::createContinuous(int, int, int, cv::gpu::GpuMat&)' previously defined here 
    inline void createContinuous(int rows, int cols, int type, GpuMat& m) 
       ^
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp: In function 'void cv::gpu::ensureSizeIsEnough(int, int, int, cv::gpu::GpuMat&)': 
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:806:6: error: redefinition of 'void cv::gpu::ensureSizeIsEnough(int, int, int, cv::gpu::GpuMat&)' 
void cv::gpu::ensureSizeIsEnough(int rows, int cols, int type, GpuMat& m) 
    ^
In file included from /home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:44:0: 
/home/lucky/programming/sphinx/build/output/include/opencv2/core/gpumat.hpp:559:17: error: 'void cv::gpu::ensureSizeIsEnough(int, int, int, cv::gpu::GpuMat&)' previously defined here 
    inline void ensureSizeIsEnough(int rows, int cols, int type, GpuMat& m) 
       ^
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp: In function 'cv::gpu::GpuMat cv::gpu::allocMatFromBuf(int, int, int, cv::gpu::GpuMat&)': 
/home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:831:8: error: redefinition of 'cv::gpu::GpuMat cv::gpu::allocMatFromBuf(int, int, int, cv::gpu::GpuMat&)' 
GpuMat cv::gpu::allocMatFromBuf(int rows, int cols, int type, GpuMat &mat) 
     ^
In file included from /home/lucky/programming/sphinx/build/3rdparty/opencv/opencv-2.4.6.1/modules/core/src/gpumat.cpp:44:0: 
/home/lucky/programming/sphinx/build/output/include/opencv2/core/gpumat.hpp:567:19: error: 'cv::gpu::GpuMat cv::gpu::allocMatFromBuf(int, int, int, cv::gpu::GpuMat&)' previously defined here 
    inline GpuMat allocMatFromBuf(int rows, int cols, int type, GpuMat &mat) 
       ^
At global scope: 
cc1plus: warning: unrecognized command line option "-Wno-unnamed-type-template-args" [enabled by default] 
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/gpumat.cpp.o] Error 1 
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 
make: *** [all] Error 2 

문제를 해결할 방법이 있습니까? 아니면 너무 새로운 버전의 GCC 문제입니까?

+0

이상한 오류입니다. 어쩌면 헤더 파일에 몇 가지 문제가있을 수 있습니다. 이전 OpenCV 버전의 헤더를 사용합니다. 다른 OpenCV 버전이 있습니까? – jet47

+0

예, 충돌을 일으킨 라이브러리의 이전에 설치된 버전을 찾습니다. 팁을 주셔서 감사합니다. – Alexander

+1

@ jet47 또는 Alexander, 답변으로 한 일을 게시하면이 질문을 폐회/답변 할 수 있습니다. 그럼 내가 너의 대답을 upvote 것입니다. 감사. –

답변

1

@의 jet47이 코멘트에 나의 요청에 응답하지 않기로 것 같다, 그래서 우리는이 질문에 대답 호출 할 수 있도록 나는이 대답을 게시하도록하겠습니다 (이 명확하게 설명되었습니다있다.)

이와 같은 문제가 발생할 경우 OpenCV 버전이 하나만 설치되어 있는지 확인하십시오. 의도 한 버전 이외의 다른 설치된 버전을 찾은 경우 제거하십시오.

관련 문제