1、./configure
用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。(可用autoconf来生成)
这一步一般用来生成 Makefile,为下一步的编译做准备。
- 你可以通过在 configure 后加上参数来对安装进行控制,比如代码:
./configure --prefix=/usr
上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin. - 同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。
- 有一些软件还可以加上 --with、--enable、--without、--disable 、--ranlib等等参数对编译加以控制。
- 你可以通过允许 ./configure --help 察看详细的说明帮助。
-
ar 命令用于更新,维护管理静态库。ranlib 命令用于 更新库的符号索引表。
当只执行了ar命令(用于更新)时, ld连接时会仍然报错,查找不到更新的变量或函数,此时需要用ranlib来更新库的符号索引表才行。
2、make
make是用来编译的,它从Makefile中读取指令,然后编译。
开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。
3、make install
用来安装的,它也从Makefile中读取指令,安装到指定的位置。