Linux Ubuntu12.04下安装OpenCv2.4.10
参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html
捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenCv2.2或者其他的就能安装好,结果发现...我太天真了。
网上使用Ubuntu12.04来装OpenCv还是挺多的,各种版本组合教程,都没能把我的Ubuntu12.04+OpenCv2.4.10 成功合体。
------------------------------------------------------------
建议不要用2.4.10,使用2.4.9就可以了。
灰心之极到OpenCv官网想下载个OpenCv2.4.0发现没有....
只好假装屡败屡战了。
回到刚刚的现实...
以下是步骤:
一、更新软件列表,升级
sudo apt-get update
sudo apt-get upgrade
二、安装依赖包
sudo
apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev
libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev
libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev
libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev
libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev
libavcodec-dev libavformat-dev libswscale-dev
下载opencv安装包
http://sourceforge.net/projects/opencvlibrary
最新版本已经到3.0了!!! 可是关我什么事....
三、解压
tar xvzf opencv-2.4.10.tar.bz2
cd opencv-2.4.10
四、创建编译目录
mkdir
build
cd build
cmake生成make文件
cmake -D WITH_TBB=ON -D
BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D
INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON
..
检查输出:不能有error;FFMPEG : YES;Python, TBB, OpenGL, V4L, OpenGL and Qt are
detected。如果有问题要重新安装对应的包再cmake
五、编译(需要很长时间)
make
到了这一步就卡住了,输出错误
make
[ 0%] Generating opencv_core_pch_dephelp.cxx
Scanning dependencies of target opencv_core_pch_dephelp
[ 0%] Building CXX object modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o
Linking CXX static library ../../lib/libopencv_core_pch_dephelp.a
[ 0%] Built target opencv_core_pch_dephelp
Scanning dependencies of target pch_Generate_opencv_core
[ 0%] Generating precomp.hpp
[ 0%] Generating precomp.hpp.gch/opencv_core_Release.gch
[ 0%] Built target pch_Generate_opencv_core
Scanning dependencies of target opencv_core
[ 0%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
/tmp/opencv-2.4.10/modules/core/src/system.cpp: In function ‘(static initializers for /tmp/opencv-2.4.10/modules/core/src/system.cpp)’:
/tmp/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an ‘asm’
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2
在网上查找了一下错误信息,没什么收获...
突然想研读一下这是个什么错误...看了半天觉得另寻出路吧。
继续寻找
发现一篇不错的博文http://www.linuxidc.com/Linux/2014-04/100112.htm
然后继续发现我少装了一个工具,于是
sudo apt-get install cmake-curses-gui
接下来是继续弄了
开始安装 将从官网下载的源码 opencv2.4.8.zip 复制到任意下,cd到该目录,执行
unzip opencv2.4.8.zip
cd opencv2.4.8
mkdir release
cd release ccmake ../
进入ccmake后,按 c 就会弹出如下界面

把 BUILD_JPEG 和 BUILD_PNG 这两项改成了 ON ,其余全部都默认,键盘按c,然后按g,然后就回到命令行界面,
make
比上次多出了很多.o文件,然后很顺利的一直进行...
但是,
突然又出现
/tmp/opencv-2.4.10/modules/core/src/system.cpp: In function ‘(static initializers for /tmp/opencv-2.4.10/modules/core/src/system.cpp)’:
/tmp/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an ‘asm’
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2
郁闷之极...
未完待续。。。
更新-------------------------------------------------------2014年11月30日
上官网下载了个2.4.9的版本http://sourceforge.net/projects/opencvlibrary
嗯,重新安装了一遍发现OK了,按照第二个教程的步骤。
make
然后等了很久,无错误完成。
六、安装
sudo make install
完成!
七、设置一下环境变量
sudo vim /etc/ld.so.conf.d/opencv.conf
在这个新文件里插入opencv安装的路径 “/usr/local/lib”
sudo ldconfig
再测试一下
先重启电脑,然后
cd /home/own/opencv-2.4.8/samples/c (注意要进入的是你自己安装OpenCv的文件夹,也就是下载后解压出来的文件夹里面)
./build_all.sh
./find_obj
一切正常。
心得:
虽然没有从根本上解决问题,比如2.4.10还是没有安装成功,但是安装成功了2.4.9。
有时候解决问题的办法并不是死钻牛角尖,也可以是另辟蹊径而为之。
Linux Ubuntu12.04下安装OpenCv2.4.10的更多相关文章
- Linux (Ubuntu12.04) 下开发工具安装和使用
Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...
- Ubuntu12.04下安装sourcenavigator-NG4.5阅读源代码
大家知道Windows下有一个很好的查看源代码的软件sourceinsight,使用sourceinsight查看Linux内核代码.嵌入式软件开发中的C语言项目源代码.驱动程序代码很是方便.在Lin ...
- 阿里云ubuntu12.04下安装使用mongodb
阿里云ubuntu12.04下安装mongodb apt-get install mongodb 阿里云ubuntu12.04下卸载mongodb,同时删除配置文件 apt-get pur ...
- Ubuntu12.04下安装NS3.25
实验室项目的需求,要使用到NS3做仿真,使用实验室的电脑,Ubuntu12.04,版本比较低,建议大家使用16.04,这样安装依赖文件时不会出现版本过低的问题 (没管最后也安装成功了).下面就安装步骤 ...
- UBUNTU12.04下安装配置体验gnome3
年. ubuntu12.04默认采用unity界面,但是自己更加喜欢gnome3的操作方式. 安装gnome3: sudo apt-get install gnome-shell 其实安装成功后,注 ...
- ubuntu-12.04下安装postgresql
2013-10-01 20:42:57| moniter参考资料:Ubuntu 12.04下PostgreSQL-9.1安装与配置详解(在线安装)一.安装postgresqlbamboo@bam ...
- Ubuntu12.04下安装Subversion并进行配置
Ubuntu下安装Subversion还是很简单的,只要输入sudo apt-get install Subversion就可以安装了. 主要的难点在于对权限的配置上. 安装完subversion后, ...
- 【linux】——ubuntu12.04 下安装wine和wine乱码解决方案
————————安装最新ppa的wine———————— sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo ap ...
- linux REDHAT6.4下安装ArcGIS Server 10.1
1 安装环境 因为Linux的发行版本比较多,我们在使用的时候请严格按照官网给的给出的版本,在官网上给出的是经过严格测试的,如果采用其他的,即便安装上了,在后续的运作中出现问题,这个可就麻烦了,官网对 ...
随机推荐
- Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
最近老是遇见服务器内存溢出的问题,故在网上搜了搜,总结了一些java内存溢出的解决方式 java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都 ...
- Oracle数据访问组件ODAC的安装方法:
Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序.我们可以编程调用这些组件来实现在没有安装Oracle数据库 ...
- MSSql Server 索引'uq_f_userName' 依赖于 列'f_userName'。由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN f_userName 失败
--需求有变,需要往t_login表的f_userName字段添加外国人名,之前设置的varchar(10)不够,商议决定改成varchar(30),执行的时候,提示消息 索引'uq_f_userNa ...
- Python之Scrapy爬虫框架安装及简单使用
题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...
- pxe无人值守安装多网卡注意事项
pxe无人值守安装linux配置这里就不说了,直接看这篇博客http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.h ...
- 持续集成工具Jenkins学习总结
概述 持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译.发布.自动化测试)来验证,从而尽早的发现集成错误.持续集成最大的优 ...
- 第三章 springboot + jedisCluster(转载)
本编博客转发自:http://www.cnblogs.com/java-zhao/p/5347703.html 如果使用的是redis2.x,在项目中使用客户端分片(Shard)机制. 如果使用的是r ...
- Linux系统编程温故知新系列 --- 01
1.大端法与小端法 大端法:按照从最高有效字节到最低有效字节的顺序存储,称为大端法 小端法:按照从最低有效字节到最高有效字节的顺序存储,称为小端法 网际协议使用大端字节序来传送TCP分节中的多字节整数 ...
- js中typeof与instanceof用法区别
今天写JS代码,遇到动态生成多个名称相同的input复选按钮 需要判断其是否是数组,用到了if (typeof(document.MapCheckMgr.checkid)!="undefin ...
- 20145226夏艺华 《Java程序设计》第0周学习总结
关于师生关系: 学生和老师之间我觉得关系时多元化的,不能拘泥于单独的一种关系:灌输与被灌输,教授与被教授--我认为,在不同的课程阶段,师生之间的关系都可以发生变化.前期的老师更像是一个指路的人,而在入 ...