欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

编译安装

程序员文章站 2022-04-28 09:01:57
编译安装 程序包编译 编译安装 ......

编译安装

程序包编译

    程序包编译安装:
        Application-VERSION-release.src.rpm -->  安装后,使用 rpmbuild 命令制作成二进制格式的rpm 包,而后再安装源代码--> 预处理--> 编译--> 汇编--> 链接--> 执行.

    源代码组织格式:
        多文件:    文件中的代码之间,很可能存在跨文件依赖关系
        C 、C++ :    make 项目管理器,configure脚本 --> Makefile.in --> Makefile
        java:   maven

编译安装

    C 语言源代码编译安装三步骤:
        1。./configure
            (1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定,以及makefile.in 文件生成makefile
            (2) 检查依赖到的外部环境,如依赖的软件包
        2。make(项目编辑器):
            根据makefile 文件,构建应用程序
            为了加快编译速度,可以采用这条命令make -j 4 && make install。-j表示可以多进程,多线程的并发编译。
            如果处理器数量为4个,-j最多写4。
        3。make install:
            复制文件到相应路径
    
    开发工具:
        同时开发者也可以自己生成 configure。使用autoconf生成configure脚本,使用automake生成Makefile.in。
        autoconf:生成configure 脚本
        automake:生成Makefile.in
    
    注意:
        安装前查看INSTALL ,README
    
    开源程序源代码的获取:
        官方自建站点:
            apache.org (ASF :Apache Software Foundation)
            mariadb.org
            ...
        代码托管:
            SourceForge.net
            Github.com
            code.google.com
    
    c/c++ 编译器: 
        gcc (GNU C Complier)
    
    编译C源代码:
        准备: 提供开发工具及开发环境
        开发工具:   make(项目编辑器), gcc等
        开发环境:   开发库,头文件
        glibc : 标准库
        实现: 通过“包组”提供开发组件,Development Tools ,Server Platform Development
        
        
    第一步:configure 脚本
        选项:指定安装位置、指定启用的特性
            --help:  获取其支持使用的选项
        选项分类:
            安装路径设定:
                --prefix=/PATH:  指定默认安装位置, 默认为/usr/local/
                --sysconfdir=/PATH :配置文件安装位置
                
        
            System types: 支持交叉编译
    
            Optional Features:  可选特性
                --disable-FEATURE
                --enable-FEATURE[=ARG]
    
            Optional Packages:  可选包
                --with-PACKAGE[=ARG], 依赖包
                --without-PACKAGE, 禁用依赖关系
    
    第二步:make(项目编辑器)
    
    第三步:make install
    
    安装后的配置:
        (1)  二进制程序目录导入至PATH 环境变量中,编辑文件/etc/profile.d/NAME.sh,export PATH=/PATH/TO/BIN:$PATH
        
        (2)  导入库文件路径(不用做)。
            编辑/etc/ld.so.conf.d/NAME.conf,添加新的库文件所在目录至此文件中,让系统重新生成缓存:
            ldconfig [-v]
            
        (3)  导入头文件(不用做)
            基于链接的方式实现:
                ln -sv
        
        (4)  导入帮助手册
            编辑/etc/man.config|man_db.conf 文件
                添加一个MANPATH