opencv 4.0 + linux下静态编译,展示详细ccmake的参数配置
#先安装 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的参数配置的更多相关文章
- opencv 4.0 + linux + cuda静态编译
#下载最新的opencv git clone "https://github.com/opencv/opencv.git" git clone "https://gith ...
- ACE-6.1.0 linux 下的编译与安装步骤
ACE-6.1.0 linux 下的编译与安装步骤 引用至http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html 1.从 ...
- Qt5.5.0在Linux下静态编译(加上-fontconfig编译项才能显示中文) good
测试系统环境:Ubuntu12.04 (32bit/64bit)编译软件环境:QT5.5.0 本文章主要介绍Linux下QT静态编译环境的搭建,以及如何编译我们的程序board_driver. 1 ...
- Linux下静态编译Qt
Qt采用编译的方式安装的时候,配置中默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,所 ...
- Linux下静态编译Qt程序
一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序 ...
- Oracle数据库学习(二):Oracle Linux下oracle、ogg的挂载与参数配置
准备工作:打开虚拟机端的Oracle Linux Server 6.9的系统,然后使用root用户登录.打开终端界面,输入ifconfig -a查看IP地址. 然后在本地打开XShell软件使用以下命 ...
- Linux下静态库生成和使用
Linux下静态库生成和使用 一.静态库概念 1.库是预编译的目标文件(object files)的集合,它们可以被链接进程序.静态库以后缀为”.a”的特殊的存档(archive file)存储. ...
- LINUX下文件编译
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- 从四个问题透析Linux下C++编译&链接
摘要:编译&链接对C&C++程序员既熟悉又陌生,熟悉在于每份代码都要经历编译&链接过程,陌生在于大部分人并不会刻意关注编译&链接的原理.本文通过开发过程中碰到的四个典型 ...
随机推荐
- 分布式:分布式事务(CAP、两阶段提交、三阶段提交)
1 关于分布式系统 1.1 介绍 我们常见的单体结构的集中式系统,一般整个项目就是一个独立的应用,所有的模块都聚合在一起.明显的弊端就是不易扩展.发布冗重.服务治理不好做. 所以我们把整个系统拆分成若 ...
- Clusternet 成为首批通过工信部开源成熟度评估项目!!!
Clusternet 作为首批项目参与了<信息技术 开源 开源项目评估模型参考架构>测评,并成为通过评估的四个项目之一.<信息技术 开源 开源项目评估模型参考架构>由国防科技大 ...
- Spring核心原理之IoC容器初体验(2)
本文节选自<Spring 5核心原理> 1 IoC与DI基本概念 IoC(Inversion of Control,控制反转)就是把原来代码里需要实现的对象创建.依赖,反转给容器来帮忙实现 ...
- docker部署验证码项目报错:at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
如果docker部署启动报错 java.lang.NullPointerException: nullat sun.awt.FontConfiguration.getVersion(FontConfi ...
- 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 ...
- Miniconda入门教程
Miniconda 教程 介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.因为包含了大量的科学包,Anaconda 的下载文件 ...
- C++基础之自增和自减运算符的重载
1. 格式 1.1 分为前置和后置格式: int x = 0; int y = 0; // 后置自增运算符 x++; // 前置自增运算符 ++x; // 后置自减运算符 y--; // 前置自减运算 ...
- 【剑指Offer】从上往下打印二叉树 解题报告(Python)
[剑指Offer]从上往下打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...
- G2022 次列车即将进站,前端人请抓紧时间上车
前端发展百花放,一技未熟百技出.未知何处去下手,关注小编胜百书. 我是前端人,关注小编,分享更多前端相关知识! 平安夜一个人?圣诞一个人? 跨年还是一个人吗? 没事,关注小编,每个节日让小编陪你一起度 ...
- 编写Java程序_输入本部门五位员工的薪资,并根据用户输入的序号为指定员工进行提薪。若用户输入序号出现越界,则提示错误。
要求说明: 输入本部门五位员工的薪资,并根据用户输入的序号为指定员工进行提薪.若用户输入序号出现越界,则提示错误. 运行效果如图: 实现代码: import java.util.Scanner; pu ...