使用 OpenCV2.4.13 构建dense_flow时找不到 NPPI 系列



当构建dense_flow(https://github.com/yjxiong/dense_flow(,

OpenCV_DIR=../../../3rd-party/opencv-2.4.13/build/ cmake .. -DCUDA_USE_STATIC_CUDA_RUNTIME=OFF

哪里。。/../../3rd-party/opencv-2.4.13/已经构建。

但是当我做

[ 50%] Linking CXX executable extract_cpu
/usr/bin/ld: cannot find -lopencv_dep_nppial
/usr/bin/ld: cannot find -lopencv_dep_nppicc
/usr/bin/ld: cannot find -lopencv_dep_nppicom
/usr/bin/ld: cannot find -lopencv_dep_nppidei
/usr/bin/ld: cannot find -lopencv_dep_nppif
/usr/bin/ld: cannot find -lopencv_dep_nppig
/usr/bin/ld: cannot find -lopencv_dep_nppim
/usr/bin/ld: cannot find -lopencv_dep_nppist
/usr/bin/ld: cannot find -lopencv_dep_nppisu
/usr/bin/ld: cannot find -lopencv_dep_nppitc
collect2: error: ld returned 1 exit status
CMakeFiles/extract_cpu.dir/build.make:121: recipe for target 'extract_cpu' failed
make[2]: *** [extract_cpu] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/extract_cpu.dir/all' failed
make[1]: *** [CMakeFiles/extract_cpu.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

这样的错误出来了。不知何故,我试图链接这样的库,但是我找不到那个库。

我遇到了同样的问题,添加以下符号链接对我有用:

 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppial.so /usr/local/lib/libopencv_dep_nppial.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppicc.so /usr/local/lib/libopencv_dep_nppicc.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppicom.so /usr/local/lib/libopencv_dep_nppicom.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppidei.so /usr/local/lib/libopencv_dep_nppidei.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppif.so /usr/local/lib/libopencv_dep_nppif.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppig.so /usr/local/lib/libopencv_dep_nppig.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppim.so /usr/local/lib/libopencv_dep_nppim.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppist.so /usr/local/lib/libopencv_dep_nppist.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppisu.so /usr/local/lib/libopencv_dep_nppisu.so
 ln -s /usr/local/cuda-9.2/targets/x86_64-linux/lib/libnppitc.so /usr/local/lib/libopencv_dep_nppitc.so

in opencv source dir:../cmake/templates/OpenCVConfig.cmake.in:

foreach(l ${OpenCV_CUDA_LIBS_ABSPATH})
get_filename_component(_tmp "${l}" NAME_WE)
string(REGEX REPLACE "^lib" "" _tmp "${tmp}")
if(NOT TARGET "opencv_dep${tmp}") # protect against repeated inclusions
add_library("opencv_dep${tmp}" UNKNOWN IMPORTED)
set_target_properties("opencv_dep${_tmp}" PROPERTIES IMPORTED_LOCATION "${l}")
endif()
endforeach()

像这样,全部评论,无需添加:设置(CUDA_USE_STATIC_CUDA_RUNTIME关闭(与OpenCV的其他项目链接,不会有opencv_dep_npp*依赖

最新更新