linux软件编译安装

首先,程序运行过程:
源程序–>编译–>链接–>运行
c语言是将源代码编译成二进制格式,编译需要编译环境(开发环境)、编译工具等(跟C语言相比,脚本语言是解释器直接解释成二进制格式,不需要编译)

编译环境:
因为linux的内核是使用c语言开发的,有部分跟平台相关的代码是用汇编语言写的。linux上运行的众多gnu软件,大多数也是用c开发的。因此最流行的的开发环境:C、C++、PERL、JAVA、PYTHON等。

编译工具:
gcc:C的编译工具,全称是GNU complier c
g++:C++的编译工具
make:C或者C++的项目管理工具
makefile:定义了make按什么顺序去编译这些源程序文件中的源程序
automake:–>makefile.in–>makefile
autoconf:–>configure

编译安装三步骤:(注意要在源程序的目录下操作)
前提:准备开发环境(编译环境),最简单的就是安装两个组”Development tools”和”Development libraries”
1、configure
–help #获取帮助
–prefix= #指定软件安装路径(会自动生成/bin和/sbin目录)
–sysconfdir= #指定配置文件安装目录(如果不指定的话,默认安装在软件安装路径下的conf目录或者etc目录)
–conf-path= #指定配置文件安装文件
configure功能:
(1)让用户选择编译特性(通过参数赋值)
(2)检查编译环境
2、make
3、make install

编译安装之后的一些环境变量的问题:
1、修改PATH环境变量,以能够识别此程序的二进制文件路径(提示找不到命令,大多是原因是命令的路径没有包含在$PATH中)
在/etc/profile.d/目录下建立一个以.sh为名称后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere
然后重新登录一下终端,比如克隆一个终端,配置即可生效

2、默认情况下,系统搜索库文件的路径是/lib,/usr/lib,要增加额外的搜索路径
在/etc/ld.so.conf.d/目录下创建以.conf为后缀名的文件,然后把要增添的路径写到此文件中(例如apache的库文件路径/usr/local/apache/lib)
然后运行ldconfig,通知系统重新搜索库文件
-v则显示重新搜索库文件的过程

3、增加头文件的搜索路径,默认是/usr/include
增加搜索路径的方式有两种:(使用链接)
ln -s /usr/local/apache/include/* /usr/include(这会创建一堆链接,对将来管理这些链接的时候不方便)
ln -s /usr/local/apache/include /usr/include/apache(推荐使用这种方式)

4、man文件路径
默认安装在–prefix指定的目录下的man目录