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庫

參考:http://blog.csdn.net/u012839187/article/details/45887737

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章