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

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