Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤

前端之家收集整理的这篇文章主要介绍了Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

CUDA_Test 工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件支持在Linux下也可以通过CMake编译CUDA_Test工程,CMakeLists.txt文件内容如下:

# CMake file for CUDA_Test

# 设定依赖的CMake版本
CMAKE_MINIMUM_required(VERSION 3.2)
# 指定项目名称
PROJECT(CUDA_Test)

# 搜索指定的OpenCV外部依赖库头文件和库文件位置
FIND_PACKAGE(OpenCV 2)
# 搜索指定的CUDA外部依赖库头文件和库文件位置
FIND_PACKAGE(CUDA)

# 打印相关信息,CMAKE_CURRENT_SOURCE_DIR指的是当前处理的CMakeLists.txt所在的路径
MESSAGE(STATUS "current path: ${CMAKE_CURRENT_SOURCE_DIR}")

# 定义用户自定义变量
SET(PATH_CPP_FILES ./../../demo/CUDA_Test)
#MESSAGE(STATUS "cpp files path: ${PATH_CPP_FILES}")
SET(PATH_CU_FILES ./../../demo/CUDA_Test)

# 递归查询所有匹配的文件:*.cpp和*.cu
FILE(GLOB_RECURSE CPP_LIST ${PATH_CPP_FILES}/*.cpp)
FILE(GLOB_RECURSE CU_LIST ${PATH_CU_FILES}/*.cu)
#MESSAGE(STATUS "cpp list: ${CPP_LIST}")
#MESSAGE(STATUS "cu list: ${CU_LIST}")

# 使CMake支持C++11特性
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu++0x")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")

# 指定CUDA头文件搜索路径
INCLUDE_DIRECTORIES(/usr/local/cuda-8.0/include)
# 指定OpenCV头文件搜索路径
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
#MESSAGE(STATUS "opencv include directory: ${OpenCV_INCLUDE_DIRS}")

# 使CUDA NVCC 编译器支持C++11特性
LIST(APPEND CUDA_NVCC_FLAGS -std=c++11;-O2)
LIST(APPEND CUDA_NVCC_FLAGS -Xcompiler;-fPIC)

SET(CUDA_PROPAGATE_HOST_FLAGS OFF)

LIST(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_50,code=sm_50)
LIST(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_60,code=sm_60)

# 编译可执行程序,即生成可执行文件CUDA_Test
#ADD_EXECUTABLE(CUDA_Test ${CPP_LIST} ${CU_LIST}) # 不包括编译*.cu文件,需要使用CUDA_ADD_EXECUTABLE命令
CUDA_ADD_EXECUTABLE(CUDA_Test ${CPP_LIST} ${CU_LIST})
# 用来为target添加需要链接的共享库,指定工程所用的依赖库,包括动态库和静态库
TARGET_LINK_LIBRARIES(CUDA_Test ${OpenCV_LIBS})
#MESSAGE(STATUS "opencv libs: ${OpenCV_LIBS}")

MESSAGE(STATUS "**************************************")
操作步骤(prj/linux_cmake/ReadMe.txt)如下:
在Linux下通过CMake编译CUDA_Test中的测试代码步骤:
1. 将终端定位到CUDA_Test/prj/linux_cmake,依次执行如下命令:
	$ mkdir build
	$ cd build
	$ cmake ..
	$ make (生成CUDA_Test执行文件)
	$ ./CUDA_Test
2. 对于有需要用OpenCV参与的读取图像的操作,需要先将对应文件中的图像路径修改为Linux支持的路径格式

GitHubhttps://github.com/fengbingchun/CUDA_Test 原文链接:https://www.f2er.com/ubuntu/351686.html

猜你在找的Ubuntu相关文章