博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux ./configure --prefix 命令是什么意思?

Posted on 2019-09-20 09:20  绣春刀啊  阅读(1453)  评论(0编辑  收藏  举报

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。

其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

如果配置--prefix,如:


./configure --prefix=/usr/local/test
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。
————————————————

./configure常用参数解释:

–help:显示帮助信息并退出

–prefix=/home/carl:指定安装位置,如果安装位置不指定,默认路径为/usr/local下的bin、lib等文件夹

–build:就是你正在使用的机器,查看本机使用的可以在configure目录下执行./config.guess

–host:就是你编译好的程序可以运行的机器

–target:就是你编译好的程序可以处理的其他平台

比如你build的机器是x86,想运行的host机器是arm,程序可以处理的程序target是mips

CC:指定编译工具链的名字

CFLAGS:指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include

LDFLAGS:gcc 等编译器会用到的一些优化参数,也可以在里面指定库文件的位置。用法:LDFLAGS=-L/usr/lib -L/path/to/your/lib

LIBS:告诉链接器要链接哪些库文件,如LIBS = -lpthread -liconv
————————————————