#下载最新的opencv

git clone "https://github.com/opencv/opencv.git"

git clone "https://github.com/opencv/opencv_contrib.git"

#定义自己的生成目录
mkdir 20190509_cuda
mkdir -p opencv-master/build_cuda
cd opencv-master/build_cuda

#生成配置的时候选择带上opencv-contrib

#  注意 -DCUDA_CUDA_LIBRARY= 这个一定要加,这个是配置项的一个BUG,只能从这里绕过去。地址是cuda库中libcuda.so的绝对路径

cmake -DOPENCV_EXTRA_MODULES_PATH=/home/admin/opencv/opencv_contrib-master/modules -DCUDA_CUDA_LIBRARY=/usr/local/cuda-9.0/lib64/stubs/libcuda.so -DCMAKE_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/stubs/ ..

#执行ccmake,配置编译选项

ccmake ..

#按t,切换进入高级模式

#主要修改的配置项如下:

  1. 1 //Build CUDA modules stubs when no CUDA SDK
  2. 2 BUILD_CUDA_STUBS:BOOL=OFF
  3. 3
  4. 4 //Create build rules for OpenCV Documentation
  5. 5 BUILD_DOCS:BOOL=OFF
  6. 6
  7. 7 //Build all examples
  8. 8 BUILD_EXAMPLES:BOOL=OFF
  9. 9
  10. 10 //Create Java wrapper exporting all functions of OpenCV library
  11. 11 // (requires static build of OpenCV modules)
  12. 12 BUILD_FAT_JAVA_LIB:BOOL=OFF
  13. 13
  14. 14 //Build IPP IW from source
  15. 15 BUILD_IPP_IW:BOOL=OFF
  16. 16
  17. 17 //Build Intel ITT from source
  18. 18 BUILD_ITT:BOOL=OFF
  19. 19
  20. 20 //Build libjasper from source
  21. 21 BUILD_JASPER:BOOL=OFF
  22. 22
  23. 23 //Enable Java support
  24. 24 BUILD_JAVA:BOOL=OFF
  25. 25
  26. 26 //Build libjpeg from source
  27. 27 BUILD_JPEG:BOOL=OFF
  28. 28
  29. 29 //Build openexr from source
  30. 30 BUILD_OPENEXR:BOOL=OFF
  31. 31
  32. 32 //Build performance tests
  33. 33 BUILD_PERF_TESTS:BOOL=OFF
  34. 34
  35. 35 //Build libpng from source
  36. 36 BUILD_PNG:BOOL=OFF
  37. 37
  38. 38 //Force to build libprotobuf from sources
  39. 39 BUILD_PROTOBUF:BOOL=OFF
  40. 40
  41. 41 //Build shared libraries (.dll/.so) instead of static ones (.lib/.a)
  42. 42 BUILD_SHARED_LIBS:BOOL=OFF
  43. 43
  44. 44 //Download and build TBB from source
  45. 45 BUILD_TBB:BOOL=OFF
  46. 46
  47. 47 //Build accuracy & regression tests
  48. 48 BUILD_TESTS:BOOL=OFF
  49. 49
  50. 50 //Build libtiff from source
  51. 51 BUILD_TIFF:BOOL=OFF
  52. 52
  53. 53 //Build WebP from source
  54. 54 BUILD_WEBP:BOOL=OFF
  55. 55
  56. 56 //Include debug info into release binaries ('OFF' means default
  57. 57 // settings)
  58. 58 BUILD_WITH_DEBUG_INFO:BOOL=OFF
  59. 59
  60. 60 //Enables dynamic linking of IPP (only for standalone IPP)
  61. 61 BUILD_WITH_DYNAMIC_IPP:BOOL=OFF
  62. 62
  63. 63 //Build zlib from source
  64. 64 BUILD_ZLIB:BOOL=OFF
  65. 65
  66. 66 //Include opencv_face module into the OpenCV build
  67. 67 BUILD_opencv_face:BOOL=OFF
  68. 68
  69. 69 //Include opencv_highgui module into the OpenCV build
  70. 70 BUILD_opencv_highgui:BOOL=OFF
  71. 71
  72. 72 //Include opencv_java_bindings_generator module into the OpenCV
  73. 73 // build
  74. 74 BUILD_opencv_java_bindings_generator:BOOL=OFF
  75. 75
  76. 76 //Include opencv_xfeatures2d module into the OpenCV build
  77. 77 BUILD_opencv_xfeatures2d:BOOL=OFF
  78. 78
  79. 79 //Choose the type of build, options are: None Debug Release RelWithDebInfo
  80. 80 // MinSizeRel ...
  81. 81 CMAKE_BUILD_TYPE:STRING=Debug
  82. 82
  83. 83 //Installation Directory
  84. 84 CMAKE_INSTALL_PREFIX:PATH=/home/admin/opencv/2019-05-09_cuda
  85. 85
  86. 86 //"cudart" library
  87. 87 CUDA_CUDART_LIBRARY:FILEPATH=/usr/local/cuda/lib64/libcudart.so
  88. 88
  89. 89 //Path to a program.
  90. 90 CUDA_NVCC_EXECUTABLE:FILEPATH=/usr/local/cuda/bin/nvcc
  91. 91
  92. 92 //Path to a file.
  93. 93 CUDA_TOOLKIT_INCLUDE:PATH=/usr/local/cuda/include
  94. 94
  95. 95 //Toolkit location.
  96. 96 CUDA_TOOLKIT_ROOT_DIR:PATH=/usr/local/cuda
  97. 97
  98. 98 //Use the static version of the CUDA runtime library if available
  99. 99 CUDA_USE_STATIC_CUDA_RUNTIME:BOOL=ON
  100. 100
  101. 101 //Enable ADE framework (required for Graph API module)
  102. 102 WITH_ADE:BOOL=OFF
  103. 103
  104. 104 //Include Aravis GigE support
  105. 105 WITH_ARAVIS:BOOL=OFF
  106. 106
  107. 107 //Include NVidia Cuda Runtime support
  108. 108 WITH_CUDA:BOOL=ON
  109. 109
  110. 110 //Include Intel Inference Engine support
  111. 111 WITH_INF_ENGINE:BOOL=OFF
  112. 112
  113. 113 //Include Intel IPP support
  114. 114 WITH_IPP:BOOL=OFF
  115. 115
  116. 116 //Include Intel ITT support
  117. 117 WITH_ITT:BOOL=OFF
  118. 118
  119. 119 //Include JPEG2K support
  120. 120 WITH_JASPER:BOOL=OFF
  121. 121
  122. 122 //Include JPEG support
  123. 123 WITH_JPEG:BOOL=OFF
  124. 124
  125. 125 //Include Lapack library support
  126. 126 WITH_LAPACK:BOOL=OFF
  127. 127
  128. 128 //Include NVidia Video Decoding library support
  129. 129 WITH_NVCUVID:BOOL=ON
  130. 130
  131. 131 //Include PNG support
  132. 132 WITH_PNG:BOOL=OFF
  133. 133
  134. 134 //Enable libprotobuf
  135. 135 WITH_PROTOBUF:BOOL=OFF
  136. 136
  137. 137 //Include Intel TBB support
  138. 138 WITH_TBB:BOOL=OFF
  139. 139
  140. 140 //Include TIFF support
  141. 141 WITH_TIFF:BOOL=OFF
  142. 142
  143. 143 //Include Vulkan support
  144. 144 WITH_VULKAN:BOOL=OFF
  145. 145
  146. 146 //Include WebP support
  147. 147 WITH_WEBP:BOOL=OFF

make -j 20

make install

=============================

2019-05-10补充:

//Build openexr from source
BUILD_OPENEXR:BOOL=ON

//Include ILM support via OpenEXR
WITH_OPENEXR:BOOL=ON

以上两项要打开,否则链接程序的时候出现大量如下错误:

  1. /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:250: undefined reference to `Im
  2. f::Slice::Slice(Imf::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
  3. /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:252: undefined reference to `Im
  4. f::FrameBuffer::insert(char const*, Imf::Slice const&)'
  5. /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:257: undefined reference to `Im
  6. f::Slice::Slice(Imf::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
  7. /home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:259: undefined reference to `Im
  8. f::FrameBuffer::insert(char const*, Imf::Slice const&)'

opencv 4.0 + linux + cuda静态编译的更多相关文章

  1. opencv 4.0 + linux下静态编译,展示详细ccmake的参数配置

    #先安装 cmake 3.14 # cmake安装到了 /usr/local/bin #配置PATH export PATH="$PATH:/usr/local/bin" #下载最 ...

  2. ACE-6.1.0 linux 下的编译与安装步骤

    ACE-6.1.0 linux 下的编译与安装步骤  引用至http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html 1.从  ...

  3. Qt5.5.0在Linux下静态编译(加上-fontconfig编译项才能显示中文) good

    测试系统环境:Ubuntu12.04 (32bit/64bit)编译软件环境:QT5.5.0   本文章主要介绍Linux下QT静态编译环境的搭建,以及如何编译我们的程序board_driver. 1 ...

  4. Linux下静态编译Qt

    Qt采用编译的方式安装的时候,配置中默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,所 ...

  5. Linux下静态编译Qt程序

    一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序 ...

  6. QT全平台设置图标,全平台静态编译 good

    1.  概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...

  7. 用mingw静态编译Qt4.8.2和Qt5.1.1(需要修改不少源码)

    因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1.经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需. 首先,在编译之前,我需要 ...

  8. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  9. 记录下 QT Linux 静态编译遇到的坑

    Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...

随机推荐

  1. ubuntu16.04 开启ipv6支持

     1)vim /etc/default/grub将GRUB_CMDLINE_LINUX中下面的这一项删除:ipv6.disable=12)执行 grub-mkconfig -o /boot/grub/ ...

  2. react 实现tab切换 三角形筛选样式

    ​ ​ 这次使用的是react的class 类组件 import React, { Component } from 'react' import { LeftOutline, SearchOutli ...

  3. Hive实战—时间滑动窗口计算

    关注公众号:大数据技术派,回复: 资料,领取1024G资料. 目录 时间滑动计算 外部调用实现时间循环 自关联实现滑动时间窗口 扩展基于自然周的的滚动时间窗口计算 总结 时间滑动计算 今天遇到一个需求 ...

  4. JAVA 通过url下载图片保存到本地

    //java 通过url下载图片保存到本地 public static void download(String urlString, int i) throws Exception { // 构造U ...

  5. 痞子衡嵌入式:把玩i.MXRT1062 TencentOS Tiny EVB_AIoT开发板(1) - 开发环境搭建与点灯

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1062 TencentOS Tiny EVB_AIoT开发板环境搭建与点灯. 腾讯 TencentOS 团队于2021年1 ...

  6. 安装MingW64_配置C/C++开发环境_Windows10

    下载安装 mingw-w64托管在sourceforge,下载地址: https://sourceforge.net/projects/mingw-w64/ 安装过程中... 除了下图的界面,其他选择 ...

  7. matplotlib 进阶之origin and extent in imshow

    目录 显示的extent Explicit extent and axes limits matplotlib教程学习笔记 import numpy as np import matplotlib.p ...

  8. java-热部署

    IDEA热部署方式: spring-boot-devtools JRebel插件 spring-boot-devtools为应用提供一些开发时特性,包括默认值设置,自动重启,livereload等. ...

  9. <学习opencv> opencv 概述及初探

    目录 Opencv3 当前模块 OpenCV 贡献库(opencv_contrib) OpenCV 头文件 旧式C风格头文件 新式C++风格头文件 例程 DEMO1 - 显示图片 DEMO2 - 视频 ...

  10. 应用TYPE-C外围电源管理IC IM2605

    应用于TYPE-C外围集成同步4开关Buck-Boost变换器的电源管理IC   IM2605 IM2605描述 IM2605集成了一个同步4开关Buck-Boost变换器,在输入电压小于或大于输出电 ...