声明:本文是个人根据相关博客资料加上自己的经验整理,在此分享以供大家学习交流!

假设CentOS系统下的CodeBlocks已经安装完成,下面我们要在CentOS平台下编译OpenCV,并在CodeBlocks下进行开发测试。

(1)下载OpenCV源码,并编译安装

当前最新的版本是OpenCV-2.2,可以从http://sourceforge.net/projects/opencvlibrary/上下载。

OpenCV的编译方式有两种,一种是传统的./configure ; make ; make install,这种方式适用于OpenCV-1.0,相应的编译过程可以参见这篇文章:http://www.opencv.org.cn/index.php/%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91,另一种方式是使用cmake . ; make ; make install,这种方式适用于OpenCV-2.x。所以,在编译OpenCV-2.2之前,得先在CentOS上安装CMake(http://www.cmake.org/)。

(1.1) 编译安装cmake:

假设cmake-2.8.4.tar.gz放在/root/software/cmake-2.8.4.tar.gz

cd /root/software/

tar zxvf cmake-2.8.4.tar.gz

编译安装cmake

下载cmake源码包cmake-2.8.4.tar.gz,mv到/usr/local/src目录下

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# tar xzvf cmake-2.8.7.tar.gz

[root@localhost src]# cd cmake-2.8.7

[root@localhost cmake-2.8.4]# ./bootstrap

---------------------------------------------

CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.

---------------------------------------------

Error when bootstrapping CMake:

Cannot find appropriate C compiler on this system.

Please specify one using environment variable CC.

See cmake_bootstrap.log for compilers attempted.

---------------------------------------------

Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log

---------------------------------------------

报错:缺少C的编译器。

安装gcc编译器

可以从Linux系统的安装盘中安装,也可以简单地用yum安装

[root@localhost ~]# yum install gcc

继续cmake的安装

[root@localhost cmake-2.8.4]# ./bootstrap

---------------------------------------------

CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.

C compiler on this system is: cc

---------------------------------------------

Error when bootstrapping CMake:

Cannot find appropriate C++ compiler on this system.

Please specify one using environment variable CXX.

See cmake_bootstrap.log for compilers attempted.

---------------------------------------------

Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log

---------------------------------------------

再次报错:缺少C++编译器。

安装gcc-c++编译器

同样可以从Linux系统的安装盘中安装,或者简单地用yum安装

[root@localhost ~]# yum install gcc-c++

重复上面的操作

[root@localhost cmake-2.8.4]# ./bootstrap

没有报错后,编译安装

[root@localhost cmake-2.8.4]# gmake

[root@localhost cmake-2.8.4]# gmake install

(1.2)编译安装opencv-2.2:(注意:若需要图形库,要先安装gtk2.x)

假设OpenCV-2.2.0.tar.bz2放在/root/software/ OpenCV-2.2.0.tar.bz2

cd /root/software/

tar jxvf OpenCV-2.2.0.tar.bz2

cd OpenCV-2.2.0

mkdir release

cd release

cmake ../

make

make install

错误及解决:http://gaodr.blog.163.com/blog/static/10461500820134824949883/

1) Linking CXX executable ../../bin/opencv_perf_core
../../lib/libopencv_highgui.so.2.4.9: undefined reference to `png_read_info@PNG12_0'

解决方案:修改/opt/opencv2.3.1目录下的CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpng,如下图:

万一还是不行的话,就用locate libpng查看一下,然后逐个按路径删除与libpng相关的所有东西,重新安装libpng库。

yum remove libpng

yum install libpng

yum install libpng-devel

编译freak.cpp时出现问题:
错误:在类 ‘GENERAL_REGS’ 中找不到可舍出的寄存器
经查,与编译优化参数有关,找到编译freak.cpp的编译控制文件
flags.make与link.txt,将
编译优化选项从
-O3 改为
-O0
该错误解决。

出现错误:类似c++: Internal error: Killed (program cc1plus)

解决方法:cmake是用如下命令

cmake ../  -DCMAKE_C_FLAGS_RELEASE="-O1 -DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-O1 -DNDEBUG"
b)错误:
Linking CXX executable ../../bin/opencv_perf_core
../../lib/libopencv_highgui.so.2.4.5: undefined reference to `png_set_longjmp_fn'
collect2: ld 返回 1
make[2]: *** [bin/opencv_perf_core] 错误 1
make[1]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/all] 错误 2
经查,与编译libopencv_highgui.so.2.4.5时参数有关,修改控制编译libopencv_highgui.so.2.4.5的文件link.txt
再修改编译pencv_perf_core的文件link.txt.
都增加或改为:-lpng  /usr/local/lib/libpng16.so
该错误解决。
原因:系统中libpng.so库有不同版本,指定使用libpng16.so

(1.3)设置环境变量

这一步与Windows设置系统环境变量的目的是一样的,告诉系统相应的binary files和library files在什么位置。

cd /etc/ld.so.conf.d/

vim opencv.conf

将/usr/local/lib写入文件并保存

ldconfig

可以使用locate libcv查看一下相应库文件的位置。

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

(2)配置OpenCV

参见http://blog.csdn.net/dupei/archive/2011/05/18/6428283.aspx

配置完成以后,就可以使用测试用例进行测试了。如果顺利执行起来,说明OpenCV的配置已经完成。

最后一步,测试openCV库是否可用。

$ cd ~/openCV/samples/cpp

$ gcc -I/usr/local/include/opencv -L/usr/local/lib/ -lopencv_highgui -lstdc++ drawing.cpp -o drawing

$ ./drawing

报错:OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/armmlinux/zdfwork/project/software/opencv-2.4.9/modules/highgui/src/window.cpp, line 483

解决:安装gtk2.x

http://www.jb51.net/article/22134.htm

Glib安装提示gettext问题的解决方法:http://blog.csdn.net/ybdesire/article/details/7249896

安装libffi库:http://download.chinaunix.net/download/0006000/5819.shtml

编译glib库是报类似libgettext.so等的错误:http://blog.csdn.net/david_xtd/article/details/7625626

明明安装了库,还出现类似:configure: error: Library requirements (glib-2.0 >= 2.4.0 atk >= 1.0.1 pango >= 1.4.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them. 的错误:http://blog.csdn.net/ubuntulover/article/details/6978305

转载于:https://www.cnblogs.com/shishupeng/p/5702557.html

CentOS系统上编译、安装、配置OpenCV相关推荐

  1. CentOS 7上编译安装PHP 8.1及Nginx 配置支持PHP

    CentOS 7上编译安装PHP 8.1/及Nginx 配置支持PHP 编译安装 Php[端口:9000] 安装编译环境依赖包 yum -y install gcc gcc-c++ glibc aut ...

  2. centos安装python3.8.1_在CentOS 8上编译安装Python 3.8.1

    CentOS 8包含Python 3.6版本,可以使用dnf工具安装或更新. 在撰写本文时,Python 3.8是Python语言的最新主要版本.它包括许多新特性,如赋值表达式.仅定位的参数.f-st ...

  3. 在 CentOS 8 上编译安装 ISC-DHCP-Server

    这篇文章是又一位专业水平非常顶的朋友那里转的,有感兴趣的朋友可以去关注一下 https://www.ddupan.top 在 CentOS 8 上编译安装 ISC-DHCP-Server 应要求,我需 ...

  4. mysql编译安装指定端口_在CentOS7系统上编译安装MySQL 5.7.13步骤详解

    MySQL 5.7主要特性 1.更好的性能 对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是用户更关心的. 2.更好的Inn ...

  5. 2021-08-15 minikube在阿里云centos系统上的安装实践

    教程原文链接,我这里用阿里云服务器上的Centos8系统做一下教程.这里发现CPU必须两个核以上! 在ssh工具登录自己的阿里云服务器 我就直接用Pycharm连接了 安装docker docker以 ...

  6. CentOS系统使用yum安装配置MariaDB数据库

    http://www.server110.com/mariadb/201310/2670.html 1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: [azur ...

  7. 国产arm64服务CentOS系统上编译使用x11vnc-desktop,无图形界面服务器Docker内开启图形化远程桌面

    项目源码 https://gitee.com/hknarutofk/x11vnc-desktop 在CentOS aarch64系统下运行脚本 # docker build --rm -t x11vn ...

  8. 像Word一样编辑PDF的软件FlexiPDF在Windows系统上的安装配置使用

    目录 前言 一.FlexiPDF的安装 二.使用配置 三.正常使用 总结 前言 FlexiPDF是一款用于编辑和制作pdf文件的软件.可在一个简单而整洁的工作环境中轻松打开任何pdf文件,改变文本和段 ...

  9. Centos系统上nginx安装

    目录 一:安装nginx依赖:pcre 二:安装 openssl .zlib . gcc 依赖: 三:安装nginx 四:启动nginx: 五:访问nginx: 前置:创建nginx目录后,进入ngi ...

最新文章

  1. Java多线程-CountDownLatch用法
  2. G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——Rect
  3. python2和3通用的头文件写法 不确定是否叫头文件 这种说法 大概就是这个意思
  4. 虚函数virtual
  5. 约瑟夫问题-sdut
  6. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
  7. 三层交换机如何配置?如何实现不同vlan间的通信?
  8. 最长山脉 python
  9. buzz fizz 翻译_【Oxford-2】The Fizz-Buzz
  10. 二十一条自动化测试过程中遭遇的问题及解决思路
  11. 宝塔linux 加载zend,Linux CentOS 安装 Zend Guard Loader 组件
  12. 【实践】人体红外传感器
  13. 漏斗分析 - AARRR模型案例分析
  14. 如何把pdf转换成excel呢?
  15. 梅长苏:因为人的心,会变得越来越硬
  16. 音/视频码率分配策略
  17. Load, Modify, and Save an Image - 加载、修改和保存图像
  18. 家装项目过程工人监督定位考勤系统新利器
  19. 用户行为分析面面观(之一)-----用户行为研究体系 + 特征1:差异性
  20. C#实战之CAD二次开发004:插入尺寸标注

热门文章

  1. 【Java核心面试宝典(2),记一次美团Java研发岗的面试经历
  2. android 单例模式详解,android开发设计模式之——单例模式详解
  3. php usort strc,php中usort自定义排序如何使用
  4. python图形用户界面设计报告_19.1 Python图形用户界面开发工具包
  5. linux查看hdfs副本数量,文件副本数量问题,设置的dfs.replication没有生效
  6. postgresql根据字符分割数据为多列
  7. 网站推广中哪些优化方法是不利于搜索引擎网站推广的呢?
  8. 网站优化人员必须具备的几个工作原则
  9. 网站打开速度变慢可以从哪些方面进行分析呢?
  10. 网站排名好却没流量到底是什么环节出了问题?