2016-12-17 10 views
1

私は以前にCUDA 7.5をインストールしていましたが、これを削除してCUDA 8.0をインストールしました。それをやった後、cmakeのは、これらのエラーを与えて、コンパイルのいずれかの種類のエラーを与え始めていますcmakeを使用しているエラー

CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message): 
    Could NOT find CUDA: Found unsuitable version "8.0", but required is exact 
    version "7.5" (found /usr/local/cuda-8.0) 
Call Stack (most recent call first): 
    /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:386 (_FPHSA_FAILURE_MESSAGE) 
    /usr/share/cmake-3.5/Modules/FindCUDA.cmake:949 (find_package_handle_standard_args) 
    /usr/local/share/OpenCV/OpenCVConfig.cmake:48 (find_package) 
    /usr/local/share/OpenCV/OpenCVConfig.cmake:291 (find_host_package) 
    CMakeLists.txt:3 (find_package) 


-- Configuring incomplete, errors occurred! 
See also "/home/cortana/Desktop/app/build/CMakeFiles/CMakeOutput.log". 
See also "/home/cortana/Desktop/app/build/CMakeFiles/CMakeError.log". 

このエラーは、いくつかのOpenCVのコードをコンパイルするに思い付きました。 cmakeを使用しない場合、コードがコンパイルされていることを考慮すると、opencvは壊れていません。しかし、cmakeはそのような動作を示しています。また、私はクーダを使用していないので、それがどのように起こっているのか知りません。どうすればこの問題を解決できますか?

編集:ここでは は私のCMakeLists.txtです:

cmake_minimum_required(VERSION 2.8) 
PROJECT (app) 
find_package(OpenCV REQUIRED) 

set(SRC 
    code.cpp 
) 


INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) 
link_directories(${CMAKE_BINARY_DIR}/bin) 
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) 
add_executable({PROJECT_NAME} ${SRC}) 

target_link_libraries({PROJECT_NAME} ${OpenCV_LIBS}) 

答えて

2

問題を解決できました。 opencvのv3.1がCUDA 8.0をサポートするように更新されたことが判明しました。私は最新のソースコードを再構築し、それをインストールして、コードが再び動作するようにしました。

0

あなたがコンパイルされたコードは、CUDAを使用していないことが確実な場合は、単にCMakeLists.txtという名前のファイルに移動し、CUDA等に関連するものを削除しますfindPackage cudaまたは類似のもの。しかし、私はそれを必要とせずに誰かがこれをCMakeLists.txtに入れてしまうのではないかと疑う。


OPの編集後:

OpenCVのバージョンがCUDAで構成されているようです。あなたがそれを取り除きたいならば。

find_package(OpenCV COMPONENTS opencv_core opencv_highgui opencv_imgproc REQUIRED) 

もちろん、他のモジュールも追加してください。

注:テストされていません。