1. 解决依赖问题

查询需要的依赖软件,提前安装好
若使用命令行安装,一般使用默认路径;使用源码安装,则自定义安装路径,后续可能需要进行路径配置
PS:可能需要在Makefile等配置文件中添加相关库文件、头文件路径

2. 生成Makefile

  • 使用configure脚本:运行./configure --help查看可选的配置项,按需要进行配置,常用的选项有--prefix等,运行./configure生成Makefile
  • 使用Atuomake等工具,暂不详
  • 使用Cmake工具,需要编写CMakeLists.txt,见OpenCV应用开发

3. 编译安装

  • 执行`make`进行编译,执行`make install`进行安装,注意查看log

4. 相关配置

若没有安装在/usr或/usr/local下:

1)使编译生成的相关链接库被系统共享

sudo gedit /etc/ld.so.conf.d/yoursoft.conf
add: /install_dir/lib
sudo ldconfig -v

2)为系统指定程序的头文件位置(需pkgconfig支持,如OpenCV)

sudo gedit /etc/bash.bashrc
add: PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/install_dir/lib/pkgconfig
export PKG_CONFIG_PATH
restart terminal

3)除了以上两个步骤能让编译生成的库文件、头文件得以被调用外,也可在编写普通编译命令中使用-L /install_dir/lib和-I /install_dir/include进行指定,也可将编译命令改写进Makefile中

Linux源码编译处理的更多相关文章

  1. Linux 源码编译Python 3.6

    Linux 源码编译Python 3.6 1.操作系统以及版本显示 # uname -sr Linux 3.10.0-514.el7.x86_64 # uname -sr Linux 3.10.0-5 ...

  2. linux源码编译安装OpenCV

    为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以 ...

  3. Linux源码编译安装httpd

    Linux安装软件采用源码编译安装灵活自由,适用于不同平台,维护也十分方便. 源码编译的安装方式一般由3个步骤组成: 1.配置(configure) 2.编译(make) 3.安装(make inst ...

  4. Linux 源码编译安装软件

    程序包编译安装的步骤: 源代码-->预处理-->编译-->汇编-->链接-->执行 多文件:文件中的代码之间,很可能存在跨文件依赖关系 1.编译源码的项目工具 使用相关的 ...

  5. linux 源码编译(转)

    源代码的用处无非是以下两点;1、软件根据用户的需要加以定制;2、二次开发;注:要根据软件的许可证书约定为准,开发者许可二次开发才行;1、源码包的打包格式;源代码一般以file.tar.gz file. ...

  6. Linux源码编译安装程序

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...

  7. Linux源码编译安装MySQL5.7

    目录[-] 一.环境准备: 二.升级系统: 三.做一些准备工作(以下Linux命令均在su到root用户操作): 四.开始编译安装mysql-5.7.9: 一.环境准备: 我尝试过以下环境都是能成功的 ...

  8. Linux源码编译安装php7.2

    以下简单的介绍下如何源码安装PHP,对于版本不一定是7.2,也可以是7.3,当然方法都是换汤不换药的,核心东西不变. 一.下载PHP源码 需要到指定的路径下载源码,执行下面的命令 wget http: ...

  9. 部署maria数据库到linux(源码编译安装)

    maria数据库是mysql原作者另外开发的一个版本,使用方法和mysql一样,可以直接用mysql的库连接. 在这下载包并解压: https://mariadb.org/download/ 建立数据 ...

随机推荐

  1. Cocos2d-x Vector——vector iterators incompatible

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  2. eclipse无法启动问题记录

    几天没开eclipse,居然报错“can not unload……”,搜索答案发现没有准确的,遵从了一个多人顶赞的办法重下eclipse,把配置文件拷贝一份,结果悲剧了,虽然能够打开了,但我之前配置的 ...

  3. 《STL源代码剖析》---stl_deque.h阅读笔记(2)

    看完,<STL源代码剖析>---stl_deque.h阅读笔记(1)后.再看代码: G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_deque. ...

  4. 备忘录模式-Memento

    备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态. 备忘录模式结构图: 何时使用备忘录模式: Memento模式比适合 ...

  5. A Practical Introduction to Blockchain with Python

    A Practical Introduction to Blockchain with Python // Adil Moujahid // Data Analytics and more http: ...

  6. MySQL table

    -- 使用数据库hr use hr; -- 在数据库中创建表-- ------------------------------------JOBS表-------------------------- ...

  7. js 时间戳精确值的问题

    最近做一个多图上传的功能,通过name + 时间戳命名,结果发现时间戳竟然一样,一直以为是代码逻辑的问题,结果出错在时间戳的获取上了. 关于时间戳的获取方式: 1.Date.parse() var d ...

  8. httpd2.4.27rpm包制作

    http2.4.27 rpm包制作1.安装rpm-buildyum -y install rpm-build2.使用普通用户创建spec规则文件su - lxhvim httpd.spec Name: ...

  9. POJ2243 Knight Moves —— A*算法

    题目链接:http://poj.org/problem?id=2243 Knight Moves Time Limit: 1000MS   Memory Limit: 65536K Total Sub ...

  10. golang OOP面向对象

    摘自:http://www.01happy.com/golang-oop/ golang中并没有明确的面向对象的说法,实在要扯上的话,可以将struct比作其它语言中的class. 类声明 1 2 3 ...