#先安装 cmake 3.14

# cmake安装到了 /usr/local/bin

#配置PATH

export PATH="$PATH:/usr/local/bin"

#下载最新的opencv

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

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

#定义自己的生成目录
mkdir 20190508
mkdir -p opencv-master/build
cd opencv-master/build

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

cmake -DOPENCV_EXTRA_MODULES_PATH=/home/admin/opencv/opencv_contrib-master/modules ..

#执行ccmake,配置编译选项

ccmake ..

#我配置的主要选项如下:

 1 BUILD_DOCS:BOOL=OFF
2 BUILD_EXAMPLES:BOOL=OFF
3 BUILD_IPP_IW:BOOL=OFF
4 BUILD_ITT:BOOL=OFF
5 BUILD_JASPER:BOOL=OFF
6 BUILD_JAVA:BOOL=OFF
7 BUILD_JPEG:BOOL=OFF
8 BUILD_OPENEXR:BOOL=OFF
9 //Build performance tests
10 BUILD_PERF_TESTS:BOOL=OFF
11 //Build libpng from source
12 BUILD_PNG:BOOL=OFF
13 //Force to build libprotobuf from sources
14 BUILD_PROTOBUF:BOOL=OFF
15 //Build shared libraries (.dll/.so) instead of static ones (.lib/.a)
16 BUILD_SHARED_LIBS:BOOL=OFF
17 //Download and build TBB from source
18 BUILD_TBB:BOOL=OFF
19 //Build accuracy & regression tests
20 BUILD_TESTS:BOOL=OFF
21 //Build libtiff from source
22 BUILD_TIFF:BOOL=OFF
23 //Build WebP from source
24 BUILD_WEBP:BOOL=OFF
25 //Build utility applications (used for example to train classifiers)
26 BUILD_opencv_apps:BOOL=OFF
27 //Include opencv_face module into the OpenCV build
28 BUILD_opencv_face:BOOL=OFF
29 //Include opencv_highgui module into the OpenCV build
30 BUILD_opencv_highgui:BOOL=OFF
31 //Include opencv_java_bindings_generator module into the OpenCV
32 // build
33 BUILD_opencv_java_bindings_generator:BOOL=OFF
34 //Build JavaScript bindings by Emscripten
35 BUILD_opencv_js:BOOL=OFF
36 //Include opencv_xfeatures2d module into the OpenCV build
37 BUILD_opencv_xfeatures2d:BOOL=OFF
38 //Installation Directory
39 CMAKE_INSTALL_PREFIX:PATH=/home/admin/opencv/20190508
40
41 //Include NVidia Cuda Runtime support
42 WITH_CUDA:BOOL=OFF
43
44 //Include Intel IPP support
45 WITH_IPP:BOOL=OFF
46
47 //Include Intel ITT support
48 WITH_ITT:BOOL=OFF
49
50 //Include JPEG2K support
51 WITH_JASPER:BOOL=OFF
52
53 //Include JPEG support
54 WITH_JPEG:BOOL=OFF
55
56 //Include Lapack library support
57 WITH_LAPACK:BOOL=OFF
58
59 //Include ILM support via OpenEXR
60 WITH_OPENEXR:BOOL=OFF
61
62 //Include PNG support
63 WITH_PNG:BOOL=OFF
64
65 //Build with Qt Backend support
66 WITH_QT:BOOL=OFF
67
68 //Include Intel TBB support
69 WITH_TBB:BOOL=OFF
70
71 //Include TIFF support
72 WITH_TIFF:BOOL=OFF
73
74 //Include Vulkan support
75 WITH_VULKAN:BOOL=OFF
76
77 //Include WebP support
78 WITH_WEBP:BOOL=OFF

配置有这样一些考虑:

1.仅满足linux下的基本的图形处理的使用;
2.不要CUDA,不要各种图形格式的支持;
3.生成静态库,避免多人使用的情况下大家相互覆盖;
4.生成在自己的目录下,不放在系统目录。

配置完成后按g,生成配置,退出。

make -j 20

make install

等到链接具体的程序的时候,还需要额外的一些库:
gcc -o xxx_elf xxx.o -L"/home/admin/opencv/20190508/lib64" -lopencv_core -lopencv_imgproc -lopencv_imgcodecs \

-ldl -lz -pthread

opencv 4.0 + linux下静态编译,展示详细ccmake的参数配置的更多相关文章

  1. opencv 4.0 + linux + cuda静态编译

    #下载最新的opencv git clone "https://github.com/opencv/opencv.git" git clone "https://gith ...

  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. Oracle数据库学习(二):Oracle Linux下oracle、ogg的挂载与参数配置

    准备工作:打开虚拟机端的Oracle Linux Server 6.9的系统,然后使用root用户登录.打开终端界面,输入ifconfig -a查看IP地址. 然后在本地打开XShell软件使用以下命 ...

  7. Linux下静态库生成和使用

    Linux下静态库生成和使用 一.静态库概念 1.库是预编译的目标文件(object  files)的集合,它们可以被链接进程序.静态库以后缀为”.a”的特殊的存档(archive file)存储. ...

  8. LINUX下文件编译

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  9. 从四个问题透析Linux下C++编译&链接

    摘要:编译&链接对C&C++程序员既熟悉又陌生,熟悉在于每份代码都要经历编译&链接过程,陌生在于大部分人并不会刻意关注编译&链接的原理.本文通过开发过程中碰到的四个典型 ...

随机推荐

  1. SSM——Spring框架

    Spring概念 什么是Spring Spring两大核心 1.IOC 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中 ...

  2. 移动端滚动方案:better-scroll

    BetterScroll 是什么 BetterScroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件.它的核心是借鉴的 iscroll (opens new window) 的实现, ...

  3. js控制滚动条在最底部位置

    window.scrollTo(0, document.body.scrollHeight) 如果需要始终保持在最底部,可以循环调用该方法 如果是div的 /*滚动条到地步*/ function to ...

  4. Oracle根据约束条件名称查找对应的数据

    select * from dba_constraints where constraint_name = 'SYS_C0082752'

  5. JAVA获取当前请求的URL地址,包含请求链接中的参数

    /** * 获得当前访问的URL路径 * @param request * @return */ public static String getLocation(HttpServletRequest ...

  6. 【LeetCode】996. Number of Squareful Arrays 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯法 日期 题目地址:https://leetco ...

  7. 【LeetCode】946. Validate Stack Sequences 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 模拟过程 日期 题目地址:https://leetc ...

  8. 【LeetCode】518. Coin Change 2 解题报告(Python)

    [LeetCode]518. Coin Change 2 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目 ...

  9. hud -5124-lines(线段树)

    题目的意思是求重合层数最多的段(把点也看成段). 给的数据范围为N<1e5; ai<1e9; 有于N只有1e5;那么离散化一下可以将ai的范围映射到1e5,而不改变原端点的相对大小. 接下 ...

  10. 1016 - Brush (II)

    1016 - Brush (II)    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Afte ...