• 编译安装


    编译安装

    程序包编译

    	程序包编译安装:
    		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
    
  • 相关阅读:
    JavaScript单线程和浏览器事件循环简述
    Promise的前世今生和妙用技巧
    自定义Angular插件
    smartcrop.js智能图片裁剪库
    判断是否安装微博
    Java 注解
    android tools使用方式
    listview复用机制研究
    java 驼峰字符和下划线字符相互转换工具类
    剪切板(复制、粘贴)工具类
  • 原文地址:https://www.cnblogs.com/shenxm/p/8403751.html
Copyright © 2020-2023  润新知