У меня была такая же проблема, интересно то, что проблема не в OpenCV, а в cmake
.
FindCUDA, поставляемый с cmake
, кажется, неисправен,производя это странное -llib
.Вы можете увидеть это во время запуска cmake, а также:
Extra dependencies: cudart_static lib nppc nppial nppicc nppicom nppidei nppif nppig nppim nppist nppisu nppitc npps cublas cufft -L/usr/local/cuda/lib -L-Wl,-rpath,/usr/local/cuda
(обратите внимание, что второй элемент "lib", последние два элемента -L ... будут вызывать проблемы, когда вы также делаете make install)
Однако пакет исходного кода opencv поставляется с файлами FindCUDA.cmake, которые, похоже, работают.
Предполагается: cmake находится в / usr / local / share / cmake. Источник opencv находится в ~ / opencv *.1013 *
Сначала выполните следующее:
mv /usr/local/share/cmake/Modules/FindCUDA* /tmp # Or some other back up location
cp -r ~/opencv/cmake/FindCUDA* /usr/local/share/cmake/Modules
Затем выполните шаги сборки, как и раньше (cmake ...
, make ...
, make install
), и, надеюсь, на этот раз это сработает (так оно и было)для меня).
Насколько я могу судить, cmake устарел FindCUDA.cmake, так что я думаю, что это не будет исправлено в ближайшее время.