CentOS系统上编译、安装、配置OpenCV

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

假设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目录下

[[email protected] ~]# cd /usr/local/src/

[[email protected] src]# tar xzvf cmake-2.8.7.tar.gz

[[email protected] src]# cd cmake-2.8.7

[[email protected] 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安装

[[email protected] ~]# yum install gcc

继续cmake的安装

[[email protected] 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安装

[[email protected] ~]# yum install gcc-c++

重复上面的操作

[[email protected] cmake-2.8.4]# ./bootstrap

没有报错后,编译安装

[[email protected] cmake-2.8.4]# gmake

[[email protected] 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 `[email protected]_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

时间: 2024-10-31 08:03:52

CentOS系统上编译、安装、配置OpenCV的相关文章

CentOS 6上编译安装AMP详解

在CentOS 6上编译安装AMP     A:Apache(httpd)     M:MySQL or MariaDB     P:php 目录: 一.准备工作 二.编译安装Apache(httpd) 三.编译安装MariaDB 四.编译安装PHP 编译安装AMP的优点: 根据生产环境灵活定制程序 优化编译参数,提高性能 解决不必要的软件依赖 一.准备工作 1.需要的软件包及版本号: httpd-2.4.27(apr-1.5.2+ apr-util-1.5.4) + MariaDB-5.5.5

CentOS 7上编译安装 apache 2.4.25

在CentOS 7上编译安装 apache 2.4.25 源码包,并启动此服务. 配置环境 Systemctl disable firewalld Systemctl stop firewalld /etc/selinux/config 关闭selinux Sed –i 's/SELINUX=enforcing/SELINUX=disable/' /etc/selinux/config 重启生效(getenforce查看是否生效) yum install gcc apr-devel apr-ut

httpd2.4在CentOS 6 上编译安装

httpd-2.4 新特性: 1.MPM支持运行为DSO机制,以模块形式按需加载 2.Event MPM生产环境可用 3.支持异步读写机制 4.支持每模块每目录的日志级别定义 5.每请求相关专用配置 6.增强版表达式分析器 7.毫秒级连接时长 8.基于FQDN的虚拟机不在需要NameVirtualHost指令 9.新指令,AllowOverrideList 10.支持用户自定义变量使用 11.更低的内存消耗 httpd-2.4 新模块:     1.mod_proxy_fcgi   支持php 

CentOS 5.9编译安装配置mysql-5.6.10

说明:操作系统:CentOS 5.9 64位MySQL版本:mysql-5.6.10MySQL安装目录:/usr/local/mysqlMySQL数据库存放目录:/data/mysql准备篇:一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器,服务器yum命令可以正常使用二.配置防火墙,开启3306端口vi /etc/sysconfig/iptables  #编辑-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -

Centos系统下OpenVPN安装配置

由于最近公司的一个客户需求通过VPN来访问国外的业务,这个事情由我来负责但我从来都没有做过于是就各种百度.google一顿狂找OpenVPN方面的资料.根据网上查找到的资料结合自己的理解总结如下文档,给大家在这里分享下. 一.安装OpenVPN前的准备工作 1.安装OpenVPN版本 Centos6.3 64位 客户端系统Win7 64位  服务端IP:114.26.162.35 2.服务端软件版本 openvpn-2.0.9tar.gz lzo-2.03.tar.gz 3.客户端安装软件版本

在CentOS 7上编译安装lamp

1.编译安装httpd-2.4.10 (1)首先安装"DevelopmentTools"和"Server Platform Development" ~]# yum groupinstall -y "Development Tools" "ServerPlatform Development" (2)安装增强版正则表达式分析器pcre-devel,以及openssl-devel,apr-devel,apr-util-devel

阿里云64位centos6.3系统上编译安装redis

环境 系统:阿里云64位centos 6.3 [[email protected]~]$ cat /etc/issue CentOS release 6.3 (Final) Kernel \r on an \m [[email protected]~]$ uname -a Linux AY1404062027584053a1Z 2.6.32-358.6.2.el6.x86_64 #1 SMP Thu May 16 20:59:36 UTC 2013 x86_64 x86_64 x86_64 GN

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

http://www.server110.com/mariadb/201310/2670.html 1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下:[[email protected] etc]$ cd /etc/yum.repos.d[[email protected] yum.repos.d]$ vi MariaDB.repo# MariaDB 10.0 CentOS repository list - created 2013-08-23 13:08

mysql-windows系统上的安装配置

1.安装问题 一般我都会去官网下载软件,但是这个mysql的官网会要求你有什么环境,需要下载什么东西之类的才给你安装好.或许我们计算机系统不支持新版本.我们并不熟悉数据库,也不熟悉微软的产品,所以我们就在网上找个老版本下载用一下就ok. 还有不同的电脑会遇到不同的问题,就算电脑一样,遇到不同的安装程序,也会遇到不同的问题,如果你发现在安装mysql的时候没有给你配置向导界面,换个mysql的下载,一定有一个适合你的电脑(这也是没办法的事情,我们不知道mysql的配置是什么原理,让我们自己去配置大