Linux平台下有许多开源的第三方库和服务,这些开源代码一般都符合GNU-autotools编码规范,可以使用所谓 “三步曲” 来统一进行配置、编译和安装,如下:
1.配置:根据当前平台的具体情况,生成 Makefile 文件
gec@ubuntu:~$ ./configure
- 注意:
- 默认安装到 /usr/local 下,可以通过 --prefix= 来指定安装路径
- 默认使用的编译器是gcc,可以通过 --host= 来指定特定编译器的前缀
2.编译:根据生成的Makefile文件,指导当前平台的编译器编译所有的源码
gec@ubuntu:~$ make
3.安装:将编译和配置好了的库文件、头文件等内容统一存储到指定的位置
gec@ubuntu:~$ make install
在以上三个固定的步骤中,第一步配置一般来讲需要根据具体情况指定不同的配置参数,可以使用其自带的 --help 指令查看帮助信息,例如:
gec@ubuntu:~/jpeg-9a$ ./configure --help
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
...
...
每种不同的源码包所支持的配置参数都不尽相同,但有一些是比较通用且常用的,比如如下两个参数:
gec@ubuntu:~$ ./configure --prefix=/home/gec/jpg --build=arm-linux
- 解释:
- –prefix 用来指定安装路径,若没指定则默认是 /usr/local
- –build 用来指定编译器默认前缀,若没有指定则默认是 gcc/g++