Linux33_编译源代码,configure和prefix的概念

Posted Grooovvve

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux33_编译源代码,configure和prefix的概念相关的知识,希望对你有一定的参考价值。

传统unix应用程序设计逻辑,autoconf有一个prefix的概念。

 

系统的系统库,基础工具和内核是放到一套代码树中的,
编译这个代码,内核和核心库,工具是一同完成的,这些都被认为是操作系统的一部分。
这些核心文件,就以根目录作为prefix。所以,/是所有操作系统核心程序的prefix。

 

在这个核心之外增加新的程序,构成一个发行版,这个发行版增加的程序就用/usr作为prefix。

 

你把发行版安装好了,安装发行版之外应用程序,那些程序通常用/opt, /srv作为prefix。

但如果你自己从源代码开始编译一个应用程序,这些程序是专门向你这个Site编译的,这种情况下,默认的prefix是/usr/local。

Filesystem Hierarchy Standard尝试把这个定义为一个标准;

 

当然你也可以将自己编译的程序直接放在$HOME/local中。

 

所以一般安装的时候要配置一下prefix。

./configure --prefix=/usr/local     

// configure就是一个脚本。./configure是很多程序源代码安装的第一步,主要作用是对即将安装的程序进行配置。检查当前环境是否满足安装所需的依赖关系。对于源码包来说是这样的。如果是二进制包,那么解压后就能使用了。

\'configure\'脚本有大量的命令行选项。对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。

带上\'--help\'选项执行\'configure\'脚本可以看到可用的所有选项。尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的。
./configure的作用是检测系统配置,生成makefile文件,以便你可以用make和make install来编译和安装程序。
执行./configure的话要到你解压好的目录中去。


make  //这条命令是编译


make install //这条是安装

 

然后对应的文件就会被安装到对应的目录中去;

 

理解configure脚本:https://www.jianshu.com/p/81916fba741c

使用configure脚本:https://www.cnblogs.com/lifexy/p/7866453.html

make 和 make install 的区别:https://www.jianshu.com/p/c70afbbf5172

 



 

以上是关于Linux33_编译源代码,configure和prefix的概念的主要内容,如果未能解决你的问题,请参考以下文章

交叉编译-samba

为啥linux下要configure然后make make install

[转]Linux中configure/makefile

Linux编译Qt4的环境_OMAPL138

linux中 ./configur没有那个文件或目录

编译 OpenCV 避免下载 linux-64-opencv-2.4.11-nppy27_0.tar.bz2