这几天一直在搞suse下的mplyaer、ffmpeg等源码编译安装,总结出源码软件安装三部曲,网上称为经典三部曲。

这三步分别为:

1. ./configure [options]

2. make

3. make install

具体地说:

1. 先下载源码。这里本人一直偏向于在官网上直接下载源码。因为个人觉得一切源码还是官网比较正规,谁知道其他地方下载的东西有没有被加入什么乱七八糟的东西;

2. 源码一般以bz2或者是gz形式的包。包里一般有readme或者是install文档,这里面有关于本源码该如何编译安装,可以仔细看看。有时候包里没有这两个文档,但是会有一个doc目录,该目录下有针对不同OS平台的安装文档,一样可以细读;

3. 将源码拷到linux上,解压;

4. 第一步就是configure配置。配置项还是很多的,可以通过./configure --help查看有哪些配置项。很多源码的readme文档直接指出,一般使用./configure就可以看了。我个人喜欢将源码安装到指定的位置,使用./configure --prefix=我安装的目录。这样做的好处就是我知道将软件装在哪里了,将来还有他用;

5. 第二步,使用make开始编译。这一步是根据上一步configure的结果来编译的;

6. 第三步,使用make install开始安装,这一步结束后,软件就被安装到我指定的目录下;

注意:有时候使用系统自带的make时,编译会报出一些错误,原因是系统自带的make版本太老了,可以装个新的,官网可以再百度上搜下。

这里再补充几点:

1. 上面make后,可以使用make clean将编译参数清空,接着重新make;

2. 上面configure发现错误,可以使用make distclean,将configure参数全部清空,接着重新./configure-->make;

LINUX安装源码软件经典三部曲的更多相关文章

  1. Linux 安装源码软件

    linux下,源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install) 过程中用到configure --prefix  --with:其中--pr ...

  2. linux 安装源码后的操作 ldconfig

    https://blog.csdn.net/cqkxboy168/article/details/8657487 知识点: .如果使用 ldd 命令时没有找到对应的共享库文件和其具体位置,可能是两种情 ...

  3. 【JDK】Linux安装源码包JDK完整步骤

    [JDK]Linux安装源码包JDK完整步骤 1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version ...

  4. linux安装源码包指定安装目录

    当下载完一个源码包并且解压后 文件夹下会有一个重要的文件configure configure 文件是一个可执行的脚本文件,它将检查目标系统的配置和可用功能,比如一些检查依赖或者启用禁用一些模块,它有 ...

  5. linux安装-----源码安装步骤--zlib软件安装

    该zlib 可以对许多其他软件的编译代码起着优化 压缩作用. 解压压缩包: .tar.gz------------->tar zxvf 压缩包.tar.gz .tar.bz2---------- ...

  6. linux安装源码包报错

    报错代码1如下: [root@xiaoming nginx-]# ./configure --prefix=/soft/nginx- checking for OS + Linux -.el7.x86 ...

  7. linux安装源码jdk

    第一步: 传输jdk到服务器上可以用xhsell,也可以用ftp 第二步:解压文件 tar -xzvf jdk-7u80-linux-x64.tar.gz 第三步:配置环境变量 输入即可 注意:修改J ...

  8. (转载)Linux如何编译安装源码包软件

    一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  9. linux的基本操作(RPM包或者安装源码包)

    RPM包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下.所以你要 ...

随机推荐

  1. 零元学Expression Blend 4 - Chapter 15 用实例了解互动控制项「Button」I

    原文:零元学Expression Blend 4 - Chapter 15 用实例了解互动控制项「Button」I 本章将教大家如何更改Button的预设Template,以及如何在Button内设置 ...

  2. Ext5.1日期控件仅显示年月

    1.注册xtype类型 2.保存文件为xxxx.js 3.使用 xtype : monthfield return this.buildToolbar({ items: [ { xtype: 'mon ...

  3. Sql一行拆分转多行

    select a.planid,b.mias, miaid into [1_cache3] from (select planid,mias=convert(xml,'<root>< ...

  4. DUI-Windows消息机制要点(34篇)

    [隐藏] 1窗口过程概念 2消息类型 2.1系统定义消息 2.1.1窗口消息 2.1.2命令消息 2.1.3控件通知消息 2.1.4程序定义消息 3消息队列 3.1系统消息队列 3.2线程消息队列 4 ...

  5. vs2008在win7系统中安装不问题

    据说是office软件冲突问题. 解决方案是卸载了office软件,不管是2007还是其它版本,先安装vs2008,再安装其它的.

  6. Awesome C/C++(图像部分)

    GUI Graphic User Interface CEGUI - Flexible, cross-platform GUI library. FLTK - Fast, light, cross-p ...

  7. Codility---FrogRiverOne

    Task description A small frog wants to get to the other side of a river. The frog is initially locat ...

  8. Ruby元编程:单元测试框架如何找到测试用例

    前几天看了Google Testing Blog上的一篇文章讲到C++因为没有反射机制,所以如何注册测试用例就成了一件需要各显神通的事情.从我的经验来看,无论是Google的GTest还是微软的LTM ...

  9. Python Re 模块超全解读!

    re模块下的函数 compile(pattern):创建模式对象 import repat=re.compile('A')m=pat.search('CBA')                     ...

  10. Ansible常用模块介绍

    ansible < HOST-PATTERN > [ -f FORKS ] [ -m MOUDULE ] [ -a "ARGS" ] [ -o ] MOUDULE: p ...