#先安装 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. 分布式:分布式事务(CAP、两阶段提交、三阶段提交)

    1 关于分布式系统 1.1 介绍 我们常见的单体结构的集中式系统,一般整个项目就是一个独立的应用,所有的模块都聚合在一起.明显的弊端就是不易扩展.发布冗重.服务治理不好做. 所以我们把整个系统拆分成若 ...

  2. Clusternet 成为首批通过工信部开源成熟度评估项目!!!

    Clusternet 作为首批项目参与了<信息技术 开源 开源项目评估模型参考架构>测评,并成为通过评估的四个项目之一.<信息技术 开源 开源项目评估模型参考架构>由国防科技大 ...

  3. Spring核心原理之IoC容器初体验(2)

    本文节选自<Spring 5核心原理> 1 IoC与DI基本概念 IoC(Inversion of Control,控制反转)就是把原来代码里需要实现的对象创建.依赖,反转给容器来帮忙实现 ...

  4. docker部署验证码项目报错:at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)

    如果docker部署启动报错 java.lang.NullPointerException: nullat sun.awt.FontConfiguration.getVersion(FontConfi ...

  5. SpringBoot简单整合分布式任务调度平台(XXL-JOB)

    官方文档:https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%8 ...

  6. Miniconda入门教程

    Miniconda 教程 介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.因为包含了大量的科学包,Anaconda 的下载文件 ...

  7. C++基础之自增和自减运算符的重载

    1. 格式 1.1 分为前置和后置格式: int x = 0; int y = 0; // 后置自增运算符 x++; // 前置自增运算符 ++x; // 后置自减运算符 y--; // 前置自减运算 ...

  8. 【剑指Offer】从上往下打印二叉树 解题报告(Python)

    [剑指Offer]从上往下打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...

  9. G2022 次列车即将进站,前端人请抓紧时间上车

    前端发展百花放,一技未熟百技出.未知何处去下手,关注小编胜百书. 我是前端人,关注小编,分享更多前端相关知识! 平安夜一个人?圣诞一个人? 跨年还是一个人吗? 没事,关注小编,每个节日让小编陪你一起度 ...

  10. 编写Java程序_输入本部门五位员工的薪资,并根据用户输入的序号为指定员工进行提薪。若用户输入序号出现越界,则提示错误。

    要求说明: 输入本部门五位员工的薪资,并根据用户输入的序号为指定员工进行提薪.若用户输入序号出现越界,则提示错误. 运行效果如图: 实现代码: import java.util.Scanner; pu ...