1. 程式人生 > >OpenCV程式設計中呼叫CUDA時,CMakeLists的編寫

OpenCV程式設計中呼叫CUDA時,CMakeLists的編寫

在做OpenCV呼叫CUDA時,發現寫好的程式不知道怎麼進行編譯。
用原來的CMakeLists無法編譯.cu檔案,後來找到一個帖子,測試可以進行CPP檔案呼叫CUDA的編譯執行。
但由於沒有呼叫OpenCV,用在我的程式中出現部分函式為定義的情況,故對該CMakeLists進行修改後,成功執行我的OpenCV程式。

下面是我的目錄結構和CMakeLists.txt檔案

目錄結構:

  • orb-slam
    – build(編譯檔案)
    – include(標頭檔案)
    – res(測試圖片)
    – src(原始檔)

CMakeLists.txt檔案:

CMAKE_MINIMUM_REQUIRED
(VERSION 2.8) PROJECT(orb-slam) INCLUDE(/usr/share/cmake-3.5/Modules/FindCUDA.cmake)#根據自己的安裝位置替換 INCLUDE_DIRECTORIES(include) FIND_PACKAGE(CUDA) FIND_PACKAGE(OpenCV REQUIRED) SET(CUDA_NVCC_FLAGS -gencode arch=compute_53,code=sm_53)#根據自己的顯示卡效能配置 CUDA_ADD_EXECUTABLE(main src/main.cpp src/ORB_GPU.cpp src/ORB_GPU_kernel.cu src/ORBextractor.cpp) TARGET_LINK_LIBRARIES
(main ${OpenCV_LIBS})#連結OpenCV庫