在 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支持的路径格式

GitHub:  https://github.com/fengbingchun/CUDA_Test

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

  1. opencv4.0在linux下编译,Ubuntu 18.04源码编译安装OpenCV 4.0步骤

    Ubuntu 18.04下标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 108 ...

  2. Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)

    OpenSSL的版本为1.0.1g,在ubuntu下通过CMake仅编译c代码不包括汇编代码,脚本内容如下: build.sh内容: #! /bin/bashreal_path=$(realpath ...

  3. Ubuntu下使用cmake结合CmakeLists.txt生成makefile文件并进行编译

    转自1:https://www.cnblogs.com/cv-pr/p/6206921.html 转自2:https://blog.csdn.net/qqwangfan/article/details ...

  4. ubuntu下如何安装两个版本OpenCV?

    本文首发于微信公众号「3D视觉工坊」--ubuntu下如何安装两个版本OpenCV? 前言 由于在VSLAM技术研究过程中,经常会涉及OpenCV不同版本在ubuntu系统下的安装.因此小凡在此简单总 ...

  5. Ubuntu下如何修改文件或者文件夹的权限

    Ubuntu下如何修改文件或者文件夹的权限------chmod的亲身测试 具体原理如下: Linux系统下如何修改文档及文件夹(含子文件夹)权限,我们来看一下.               一 介绍 ...

  6. linux/ubuntu下简单好用的python opencv安装教程 ( 解决 imshow, SIFT, SURF, CSRT使用问题)

    linux/ubuntu下简单好用的python opencv安装教程 ( 解决 imshow, SIFT, SURF, CSRT使用问题) 参考文章: (1)linux/ubuntu下简单好用的py ...

  7. linux系统(ubuntu)下安装exe文件

    linux系统(ubuntu)下安装exe文件 昨天将家中的旧笔记本翻出来安装了ubuntu20.04.1,想在电脑中安装exe文件时,不能直接打开. 于是借鉴网络中的方法(https://blog. ...

  8. Ubuntu下U盘文件只读的解决办法

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Ubun ...

  9. Ubuntu下查找大文件

    原文链接:https://www.cnblogs.com/kerrycode/p/4391859.html 在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高 ...

最新文章

  1. muduo之CountDownLatch.cc
  2. C++ 有符号整数和无符号整数修饰符之间的差别
  3. django Forbidden
  4. QT的QTableWidget类的使用
  5. 5G频谱相争“兵戎相见”各相部署风起云涌
  6. 梦中女孩,不知还能不能再见你一面
  7. 他无意间玩了这12个游戏,却掌握了Python基础,前后只用了一个月
  8. 两款高大尚广告GO跳转页PHP源码
  9. CF1047A Little C Loves 3 I
  10. Android设备运用Clockworkmod Recovery恢复模式安装定制的Rom
  11. pdffactory 打印字体_PDFFactory
  12. 基建管控系统_基建管控系统在电网建设中的应用
  13. wps怎么图片透明_wpsword如何设置图片透明度
  14. banner图片自适应
  15. 如何有效地进行资料整理?
  16. Vue 关闭浏览器清除Cookies
  17. 【ESP32 S3 开发】基于I2S协议驱动INMP441数字麦克风 实现语音采集
  18. RADOS:一种可扩展高可用的PB级存储集群(Ceph)
  19. 【CBAM Pytorch实现】注意力机制综述阅读推荐
  20. 【玩转CSS】渐变色

热门文章

  1. 基于pytorch的模型剪枝+模型量化+BN合并+TRT部署(cifar数据)(2)
  2. Linux那些事儿 之 戏说USB(11)繁华落尽
  3. populate_dir
  4. ikbc机械键盘打字出现重复_抖音开啤酒小姐姐同款面具,ikbc白无垢樱花机械键盘开箱体验...
  5. 在析构函数中delete this指针问题
  6. lua中正则表达式的坑
  7. 手把手教你 用C++实现一个 可持久化 的http_server
  8. P1132 数字生成游戏
  9. typescript调用javascript URI.js
  10. Linux常用命令汇总(持续更新中)