1. 配置编译器环境

 [compiler] sudo apt-get install build-essential

2. 安装OpenCV的依赖包

 [required] sudo apt-get install cmake git libgtk2.-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394--dev

3. cmkae 外部构建

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_TIFF=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..

(注意:必须加上-D BUILD_TIFF=ON,否则编译caffe的时候会有这样的错误/usr/lib/libopencv_highgui.so.2.4: undefined reference to XXXXXX)

4. 安装在主机上

make -j8
sudo make install

5. CMakeLists.txt的写法

//OpenCV 检查程序

#include <cv.h>
#include <highgui.h> using namespace cv; int main(int argc, char* argv[])
{
Mat image;
image = imread(argv[], ); if (argc != || !image.data)
{
printf("No image data\n");
return -;
} namedWindow("Display Image", CV_WINDOW_AUTOSIZE);
imshow("Display Image", image);
waitKey();
return ;
}

在同一目录下创建CMakeLists.txt,并写入编译规则

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(test)
FIND_PACKAGE(OpenCV REQUIRED)
ADD_EXECUTABLE(opencv_test main.cpp)
TARGET_LINK_LIBRARIES(opencv_tes ${OpenCV_LIBS})

之后利用CMakeLists.txt创建Makefile并完成实例构建

mkdir build
cd build
cmake ../
make

编译完成后,在build文件夹下会创建一个opencv_test的可执行文件

./opencv_test filename

运行文件,将会显示图片内容

6. 如果对makefile的规则不太熟悉,也可以直接配置gcc的编译选项

g++ main.cpp -Wl,-rpath=/usr/local/lib -I /usr/local/include/ -L /usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -o opencv_test  

7.或者安装pkg-config并配置opencv可以避免重复配置opencv

sudo apt-get install pkg-config
sudo gedit ~/.bashrc #最后一行输入
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#执行以下命令使配置立即生效
source /etc/profile #打开文件,配置opencv lib库路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
#opencv的库一般安装在"/usr/local/lib"文件夹下,在文件内添加
/usr/local/lib #执行下列命令使之立刻生效
sudo ldconfig
g++ main.cpp -Wl,-rpath=/usr/local/lib 'pkg-config --libs opencv --cflags opencv' -o test //`不是单引号,而是数字1左边的`符号

注意,如果不添加-Wl, -rpath=/usr/local/lib, 编译是可以通过的,但是相对应的链接库并没有写入到可执行文件内,运行可执行文件时候,会遇到 ./test: error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory的错误,虽然添加上了-I和-L和以保证编译成功,但是可执行文件仍然找不到需要连接的动态库。

OpenCV 2.4.13 installed in Ubuntu 14 and CMakeLists Demo的更多相关文章

  1. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  2. NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)

    转自:http://blog.csdn.net/enjoyyl/article/details/47397505?from=timeline&isappinstalled=0#10006-we ...

  3. ubuntu 16.04 安装opencv 2.4.13

    ubuntu 16.04 安装opencv 2.4.13 https://blog.csdn.net/u011557212/article/details/54706966?utm_source=it ...

  4. 30分钟groovy快速入门并掌握(ubuntu 14.04+IntelliJ 13)

    本文适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java开发人员.了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合.内置正则表达式和闭包. ...

  5. Ubuntu 14.04 下安装 OpenCV

    参考: Installation in Linux Error compiling OpenCV, fatal error: stdlib.h: No such file or directory 图 ...

  6. Ubuntu 14 中 VirtualBox发生错误Kernel driver not installed (rc=-1908)

    宿主系统是Ubuntu 14,在VirtualBox中安装 CentOS 6.5 时,提示如下错误: Kernel driver not installed (rc=-1908) 网友提供的解决方案: ...

  7. [2014.5.13][Ubuntu] Ubuntu 14.04STL 出现NTFS分区无法訪问的问题

    5.12 为了给学生改论文,在UPC上登录了Windows 8.1,晚上正常关机.今日切换登陆Ubuntu 14.04分区,发现原来能够正常訪问的windows下的NTFS分区都被锁死.提演示样例如以 ...

  8. Ubuntu 14.04上安装caffe

    本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...

  9. ubuntu 14.04 nagios4+ndoutils2.0+centreon2.5.4配置

    ubuntu 14.04 nagios4+ndoutils2.0+centreon2.5.4(原创) 开发应用centreon是开源的IT监控软件,由法国人于2003年开发,最初名为Oreon,并于2 ...

随机推荐

  1. 设计模式之组合(compose)模式

    树形结构在软件中随处可见,比如操作系统中的目录结构,公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题.组合模式通过一种巧妙的设计方案来使得用户可以一致性地处理整个树形 ...

  2. LeetCode Find Duplicate File in System

    原题链接在这里:https://leetcode.com/problems/find-duplicate-file-in-system/description/ 题目: Given a list of ...

  3. 在Mac中安装python,配置python环境

    参考链接:http://blog.justbilt.com/2014/07/02/setup_python_on_mac/ 其实跟windows差不多,就是在python官网下载特定版本的python ...

  4. Windows Communication Foundation (WCF)和Windows CardSpace的示例程序

    微软公司昨天发布了一个Windows Communication Foundation (WCF)和Windows CardSpace的示例程序包,内容极为丰富,从最简单的Hello World到复杂 ...

  5. C# 用wps(api v9) 将word转成pdf

    我们不产生代码只是代码的搬运工 我们先来看一段跑不起来的代码  ..各种未将对象应用到实例.. using System; using System.Collections.Generic; usin ...

  6. 9 闭包——《Swift3.0从入门到出家》

    8  闭包 Swift语言中可以使用一块独立代码块替代函数的定义,称独立的代码块为闭包 闭包格式为: {(参数列表)->返回值类型    in 执行语句 } 例子: <1>使用闭包实 ...

  7. Angular2常用命令

    一.常用命令 1.1 npm config list配置项目 可进行相关代理配置,通常可以配置在网络环境较差的情况下,配置相关代理.相关的设置命令如图: 1.2 ng 新建启动项目 ng new pr ...

  8. bzoj 4310 跳蚤——后缀数组+二分答案+贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4310 答案有单调性? 二分出来一个子串,判断的时候需要满足那些字典序比它大的子串都不出现! ...

  9. React组件传值方式总结

    1. 子组件向父组件传值 父组件Header: import Nav from 'Nav.js'; class Header extends React.Component { constructor ...

  10. 苹果手机 iTunes 资料备份到另一手机

    百度教程 https://jingyan.baidu.com/article/d621e8da332e602865913f8e.html 直接使用iTunes将老手机的资料备份, (可能需要关闭手机定 ...