Linux源码编译处理
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源码编译处理的更多相关文章
- 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 ...
- linux源码编译安装OpenCV
为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以 ...
- Linux源码编译安装httpd
Linux安装软件采用源码编译安装灵活自由,适用于不同平台,维护也十分方便. 源码编译的安装方式一般由3个步骤组成: 1.配置(configure) 2.编译(make) 3.安装(make inst ...
- Linux 源码编译安装软件
程序包编译安装的步骤: 源代码-->预处理-->编译-->汇编-->链接-->执行 多文件:文件中的代码之间,很可能存在跨文件依赖关系 1.编译源码的项目工具 使用相关的 ...
- linux 源码编译(转)
源代码的用处无非是以下两点;1、软件根据用户的需要加以定制;2、二次开发;注:要根据软件的许可证书约定为准,开发者许可二次开发才行;1、源码包的打包格式;源代码一般以file.tar.gz file. ...
- Linux源码编译安装程序
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- Linux源码编译安装MySQL5.7
目录[-] 一.环境准备: 二.升级系统: 三.做一些准备工作(以下Linux命令均在su到root用户操作): 四.开始编译安装mysql-5.7.9: 一.环境准备: 我尝试过以下环境都是能成功的 ...
- Linux源码编译安装php7.2
以下简单的介绍下如何源码安装PHP,对于版本不一定是7.2,也可以是7.3,当然方法都是换汤不换药的,核心东西不变. 一.下载PHP源码 需要到指定的路径下载源码,执行下面的命令 wget http: ...
- 部署maria数据库到linux(源码编译安装)
maria数据库是mysql原作者另外开发的一个版本,使用方法和mysql一样,可以直接用mysql的库连接. 在这下载包并解压: https://mariadb.org/download/ 建立数据 ...
随机推荐
- Android Menu开源项目整合工程
本实例整合了关于Android Menu的优秀开源代码,方便有需要用到Menu开源项目的小伙伴使用. 一.整合的项目有: SlidingMenu:https://github.com/jfeinste ...
- ln mv 发挥一个物体的元作用
# tar xf ~/tools/mongodb-linux-x86_64-3.4.0.tgz -C /usr/local/; ln -sf /usr/local/mongodb-linux-x86_ ...
- 把x指针指向的4个字节次序颠倒过来
举例:x指向的内存地址,其字节内容从低到高依次分别为c1,c2,c3,c4(Delphi读取一个integer的时候,结果是c4c3c2c1,其排列规则是"高高低低"),那么结果是 ...
- JVM对象存活判断方法
一.GC主要针对什么区域 1. 程序计数器.虚拟机栈.本地方法栈,3个部分随线程而生死.每个栈桢分配多少内存基本上是在类结构确定下来时就已确定,大体上可认为是 编译期可知. 2. 而 堆 和 方法区 ...
- Hihocoder #1077 : RMQ问题再临-线段树(线段树:结构体建树+更新叶子往上+查询+巧妙使用father[]+线段树数组要开大4倍 *【模板】)
#1077 : RMQ问题再临-线段树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到:小Hi给小Ho出了这样一道问题:假设整个货架上从左到右摆放了N种商品,并 ...
- MVVM模式介绍
MVVM:模型-视图-视图模型(Model-View-ViewModel) 组成部分Model.View.ViewModel View:UI界面 ViewModel:它是View的抽象,负责Vie ...
- 分享windows自带计划任务Task schedule使用指南
下面以“启动运行QQ程序,无限期每186秒一次”为例,演示如何使用计划任务功能. 今天IT外包 www.itwaibaow.com 就为大家分享如何使用win7"计划任务“(Task sch ...
- c/c++内存机制(一)(原)
一:C语言中的内存机制 在C语言中,内存主要分为如下5个存储区: (1)栈(Stack):位于函数内的局部变量(包括函数实参),由编译器负责分配释放,函数结束,栈变量失效. (2)堆(Heap):由程 ...
- Cocos2dx+lua合适还是Cocos2dx+js合适?
问题: 开发cocos2dx手游Cocos2dx+lua合适还是Cocos2dx+js合适 百牛信息技术bainiu.ltd整理发布于博客园 回答: 作者:廖宇雷链接:https://www.zhih ...
- HBase之四--(2):spring hadoop 访问hbase
1. 环境准备: Maven Eclipse Java Spring 2. Maven pom.xml配置 <dependency> <groupId>org.apache ...