apt-get 从网络安装软件包的 ,自动解决信赖关系。
apt-get install 软件包的安装,使用dpkg -L 软件包名
二、Linux中加载动态链接库的三种方法
第一种是修改系统文件
在/etc/ld.so.conf文件中指定了默认的动态链接库查找路径,/etc/ld.so.conf文件内容是这样的include /etc/ld.so.conf.d/*.conf也就是说它间接的指定了定义路径的文件,我们只需要把需要的路径加到/etc/ld.so.conf.d目录下的任何一个文件中,再运行ldconfig就可以了。但为了容易理解,最好是找一个相关的文件,或者重新建立一个文件,把需要添加的路径写入然后运行ldconfig
ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.
这里面涉及到的关键内容有命令:ldconfig,配置文件目录:/etc/ld.so.conf.d,配置文件在/etc/ld.so.conf内容由用户编辑,缓冲文件/etc/ld.so.cache。
第二种是运用变量LD_LIBRARY_PATH,
把需要添加的路径加入到LD_LIBRARY_PATH中,注意如果多于一个要用冒号隔开。
如:export LD_LIBRARY_PATH=/usr/local/lib/minigui
第三种是编译的时候设定:在编译源码的时候可以用参数:-Wl, -rpath指定动态搜索的路径即可。
三、etc下的文件
etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。
etc/bash.bashrc: 为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
source生效
四、在编译Opencv时候,要用到很多第三方的库,所以我们要把这些第三方的库都编译好之后,才可以编译Opencv。
建立OpenCV所需的依赖关系。这是一般安装需要自己编译软件的第一步,也是最为重要的一步。在这里强烈建议大家安装一个“新立得”的包管理器。在Ubuntu下我们可以通过命令“sudo apt-get install synaptic”来安装。
(1) 安装最基本最必要的库
sudo apt-get install build-essential checkinstall cmake pkg-config yasm
(2) 安装读写图像的I/O库。这些库能够让你读取不同类型的图片。
sudo apt-get install libtiff4-dev libjpeg-dev libjasper-dev
(3) 安装读取视频文件的库。
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev
(4) 安装Python
sudo apt-get install python-dev python-numpy
(5) 安装第三方库,TBB它是使OpenCV支持并行编程所需要的库。
sudo apt-get install libtbb-dev
(6)可以这样使用
sudo apt-get -y install autoconf automake build-essential git libass-dev libfaac-dev libgpac-dev \
libmp3lame-dev libopus-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \
libvorbis-dev libvpx-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html yasm zlib1g-dev
1、在linxu下使用opencv, 先安装 libgtk2.0-dev 和 pkg-config,# apt-get install libgtk2.0-dev
# apt-get install pkg-config
否则后期编译运行程序会出现类似如下的问题:
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 /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100
terminate called after throwing an instance of 'cv::Exception'
(1)GTK+2、 FFmpeg是一个开源免费跨平台的视频和 音频流 方案,属于自由 软件 ,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。
简单地说,GTK+就是用C语言编写的用于开发图形界面程序的函数库。GTK+来源于GIMP(GNU Image Minipulation Program 即GNU图像处理程序)。GTK+在GDK(GIMP Drawing Kit 即GIMP绘图包)基础上创建,对它进行封装。GTK+简单易用,它设计良好,灵活而富有扩展性。它是自由软件,这意味着它不仅开放源代码,而且还可以免费使用。由于它使用C语言作为其开发语言,而C语言是跨平台的,因此GTK+几乎可以在任何操作系统上使用。
在安装Federo Core或者Red Hat Linux系列操作系统时,如果选择了安装应用程序开发包,那么操作系统安装完毕后,GTK+开发包就已经安装好了。如果没有安装,请从网络上(http://www.gtk.org)免费下载一份GTK源代码并安装到系统上。
(2) Qt是一个跨平台的图形用户界面开发库,它不仅支持Linux操作系统,还支持所有类型的UNIX以及Windows操作系统。Qt良好的封装机制使它模块化程度非常高,可重用性很强,Qt提供了丰富的API供开发人员使用。使用Qt开发的图形用户界面程序具有良好的稳定性和健壮性。桌面环境KDE(K Desktop EnVironment即K桌面环境)就是使用Qt作为其底层库开发出来的。(3)由于Qt使用C++面向对象编程语言作为其开发语言,而许多在Linux下从事开发的程序员更喜欢或更习惯于用C语言。GTK+使用C语言作为开发语言。它基于LGPL授权,因此GTK+是开放源代码而且完全免费的。GTK+简单易用,执行效率高。基于这些原因,GTK+拥有为数众多的拥护者。Linux的桌面环境GNOME就是建立在GTK+基础上。
在OpenCV的视频处理部分就是用的ffmpeg,所以在安装OpenCV之前要安装好ffmpeg。
这里有篇很好的文章 ,转载于http://www.oschina.net/question/1425530_146173 内容有修改,见下: