170121更新:
刚才编译opencv2.4.13,之后编译该程序时,提示:
cannot find -lopencv_dep_cudart
https://github.com/opencv/opencv/issues/6542中指出,在cmake时,加上-D CUDA_USE_STATIC_CUDA_RUNTIME=OFF
(开始我以为是编译opencv时候加上这句,结果编译这个测试程序还是有问题。后来才意识到,是编译这个测试程序时加上这句才对。)
另一种解决方法就是,如http://stackoverflow.com/questions/41608111/cannot-find-lib-libopencv-dep-cudart中指出的,在上面的CMakeLists.txt中find_package(OpenCV REQUIRED)之前加上:
set(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
之后按照后续的继续编译,也可以成功。
http://code.opencv.org/issues/2166中指出,由于gpumat (.hpp, .cpp)在revision #6957已经被移到opencv_core中,因而编译OpenCV with CUDA enabled时,即便工程不使用cuda,每个工程仍旧需要npp (npp32_42_9.dll, 50MB) 和 cudart (cudart32_42_9.dll) dll(这个应该是windows上面的,linux应该就是so了),