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

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

/home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:250: undefined reference to `Im
f::Slice::Slice(Imf::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
/home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:252: undefined reference to `Im
f::FrameBuffer::insert(char const*, Imf::Slice const&)'
/home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:257: undefined reference to `Im
f::Slice::Slice(Imf::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
/home/admin/opencv/opencv-master/modules/imgcodecs/src/grfmt_exr.cpp:259: undefined reference to `Im
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. CF1506A Strange Table 题解

    Content 给定一个 \(n\times m\) 的矩阵.一开始,\((1,1)\) 所在位置上面的数是 \(1\),随后先由上往下将这一列中的所有位置上面填上 \(2,3,\dots,n\),再 ...

  2. 简单聊聊mysql的脏读、不可重复读

    最近,在一次 mysql 死锁的生产事故中,我发现,关于 mysql 的锁.事务等等,我所知道的东西太碎了,所以,我试着用几个例子将它们串起来.具体做法就是通过不断地问问题.回答问题,再加上" ...

  3. MyBatis学习(三)MyBatis基于动态代理方式的增删改查

    1.前言 上一期讲到MyBatis-Statement版本的增删改查.可以发现.这种代码写下来冗余的地方特别多.写一套没啥.如果涉及到多表多查询的时候就容易出现问题.故.官方推荐了一种方法.即MyBa ...

  4. windows平台使用 pthreads库

    note 近日封装一些跨平台库时, 发现线程的创建需要做平台的区分, windows的线程创建和Linux下的线程操作不一样.很麻烦,还要做平台区分. 能否在windows上使用pthread的线程库 ...

  5. 【LeetCode】389. Find the Difference 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:字典统计次数 方法二:异或 方法三:排序 日 ...

  6. 【九度OJ】题目1169:比较奇偶数个数 解题报告

    [九度OJ]题目1169:比较奇偶数个数 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1169 题目描述: 第一行输入一个数,为n, ...

  7. 【LeetCode】152. Maximum Product Subarray 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 双重循环 动态规划 参考资料 日期 题目地址:htt ...

  8. 1275 - Internet Service Providers

    1275 - Internet Service Providers    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory L ...

  9. Jenkins+Sonar质量门禁【实践篇-maven版】

    Jenkins+Sonar质量门禁[实践篇-maven版] 配置文档百度挺多的,就不展开来了 首先很遗憾的告诉大家,maven版做不了质量门禁!只能扫描!!!     就我们公司项目里,jenkins ...

  10. <学习opencv>绘画和注释

    /*=========================================================================*/ // 绘画 和 注释 /*========= ...