2014-10-08 2 views
1

Недавно я обновился до CUDA 6.5, и я полностью перекомпилировал OpenCV 2.4.9 на Ubuntu 14.04.OpenCV 2.4.9 и CUDA 6.5

Однако, когда я перекомпилировать мой проект с использованием OpenCV и CMake, я получил следующее сообщение об ошибке конфигурации:

-- GCC detected, adding compile flags 
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): 
    Could NOT find CUDA: Found unsuitable version "6.5", but required is exact 
    version "6.0" (found /usr/local/cuda-6.5) 
Call Stack (most recent call first): 
    /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:313 (_FPHSA_FAILURE_MESSAGE) 
    /usr/share/cmake-2.8/Modules/FindCUDA.cmake:806 (find_package_handle_standard_args) 
    /usr/local/share/OpenCV/OpenCVConfig.cmake:215 (find_package) 
    CMakeLists.txt:9 (find_package) 


-- Configuring incomplete, errors occurred! 
See also "/home/andrey/Data/Projects/Groups_code/Lulu/build-Ubuntu/CMakeFiles/CMakeOutput.log". 

Как исправить это? Нужно ли переустанавливать cmake или обновлять файлы модулей в cmake?

ответ

1

Попробуйте удалить кэш CMake. «Файл» -> «Удалить кеш». Затем «Настроить», «Создать», как обычно.

+0

Создайте новый каталог и запустите cmake ../src. Он по-прежнему имеет ту же ошибку. –

+0

У меня была такая же проблема, я решил ее (в GUI), удалив кеш, а затем установите флажок «Дополнительно», а в группе CUDA измените все версии cuda на 6.5. –

0

По моему опыту, когда OpenCV построен с определенной версией CUDA, он указывает, что в файле /usr/local/share/OpenCV/OpenCVConfig.cmake. Если вы изменили свою версию CUDA после, вы создали OpenCV, тогда восстановление OpenCV с новой версией CUDA должно исправить это. Это будет в основном переписать новую версию на /usr/local/share/OpenCV/OpenCVConfig.cmake.

Кроме того, кажется, что вы звоните find_package(CUDA) после звонка find_package(OpenCV). Это заставляет cmake искать версию CUDA, с которой был построен OpenCV. Если вы звоните find_package(CUDA), прежде чем find_package(OpenCV) вы, вероятно, увидеть что-то вроде:

-- Found CUDA: /usr/local/cuda-6.5 (found version "6.5") 
CMake Error at /usr/local/share/OpenCV/OpenCVConfig.cmake:222 (message): 
    OpenCV static library was compiled with CUDA 6.0 support. Please, use the 
    same version or rebuild OpenCV with CUDA 6.5 
Call Stack (most recent call first): 
    CMakeLists.txt:49 (find_package) 

источника OpenCV менялось на протяжении многих лет с различными версиями CUDA и поэтому несоответствиями версий могут привести к вещам, чтобы сломать. Поэтому рекомендуется исправить это, чтобы восстановить OpenCV.

Смежные вопросы