使用源代码安装软件
相关命令
configure
cmake
make
make install
步骤:
1,下载源代码,解压
2,创建build目录,存放cmake,make编译的文件
3,sudo make install
4,make clean 删除临时文件
config
一个shell脚本,位于源文件的根目录中。
作用:检查系统中是否有编译这个程序依赖的其它库之类的东西
参数:prefix 参数——指定目标安装路径,必须指定,否则不知道默认安装到哪里,不方便以后的管理
$:sudo ./configure --prefix=/usr/local/xxx_software
cmake
CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多
CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。
因此CMake的编译基本就两个步骤:
$:cmake
$:make
新建build目录
cmake 指向CMakeLists.txt所在的目录,例如cmake … 表示CMakeLists.txt在当前目录的上一级目录。cmake后会生成很多编译的中间文件以及makefile文件,所以一般建议新建一个新的目录,专门用来编译。
$:mkdir build #创建build目录
$:cd build #进入build目录
$:cmake .. # CMakeList.txt所在目录
$:make # 生成的一边文件以及makefile文件在build目录
文件目录结构如下:
.
├── build
├── CMakeLists.txt
├── include
│ └── b.h
└── src
├── b.c
└── main.c
为什么要用cmake
cmake就可以更加简单的生成makefile文件给make用。cmake还有其他功能,可以跨平台生成对应平台能用的makefile,不用再自己去修改了。
什么时候用cmake
cmake根据CMakeList.txt生成makefile,所以源目录里有CMakeList.txt的时候,先用cmake命令
make
make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式—通过调用makefile文件中用户指定的命令来进行编译和链接的。
make install
将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。
这个过程应该会很快。