这几天一直在搞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. UltraEdit实现“删除包含某个关键字的所有行”

    原文:UltraEdit实现"删除包含某个关键字的所有行" UltraEdit实现"删除包含某个关键字的所有行"   1.Ctrl+R调出"替换对话框 ...

  2. Win8 Metro(C#)数字图像处理--3.5图像形心计算

    原文:Win8 Metro(C#)数字图像处理--3.5图像形心计算 /// <summary> /// Get the center of the object in an image. ...

  3. QT在release版本产生pdb文件

    ##环境说明 QtCreator QtLibrary 编译器 Qt Creator 2.7.0 4.8.4-msvc msvc9.0(VS2008) ##背景说明 >项目中需要对发布版本追踪崩溃 ...

  4. LINQ查询表达式---------into

    LINQ查询表达式---------into into 上下文关键字创建一个临时标识符,以便将 group.join 或 select 子句的结果存储到新的标识符 class Program { pu ...

  5. Android零基础入门第16节:Android用户界面开发概述

    原文:Android零基础入门第16节:Android用户界面开发概述 相信通过前面15期的学习,Android的开发环境已经基本掌握了,如果仍有问题,欢迎到Android零基础入门技术讨论微信群交流 ...

  6. DELPHI XE2 采用 JSON 的方式来序列化对象

    DELPHI XE2 采用 JSON 的方式来序列化对象 以下代码测试通过.问题是里面的中文,在反序列化后是乱码. 1. 序列化对象为字符串,Subject 里面的中文看起来正常,仍然是中文: 2.  ...

  7. javascript学习路线图

    史上最全的javascript学习路线图 JavaSctipt学习路线 完成整个课程大纲需要花上6~8周的时间,将学会完整的JavaScript语言(包括jQuery和一些HTML5).如果你没有时间 ...

  8. OAUTH2 SAML2.0

    OAuth2 - http://www.cnblogs.com/linianhui/p/oauth2-authorization.html SAML - wikipedia Shibboleth / ...

  9. Another maybe monad library for ruby

    欢迎任何形式的转载,但请务必注明出处:http://www.cnblogs.com/liangjingyang 项目地址:https://github.com/liangjingyang/maybe_ ...

  10. jquery事件和动画操作集锦

    一,事件 1,加载事件 1 2 3 4 5 6 $(document).ready(function(){   //todo }); //dom准备就绪后执行ready里面的函数,此时dom对应的相关 ...