zoukankan      html  css  js  c++  java
  • 编译安装

    编译安装

    程序包编译

    	程序包编译安装:
    		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
    
  • 相关阅读:
    P2158 仪仗队
    P1582 倒水
    2019.7.22-7.27暑假集训总结
    python3 手动输入时上下键乱码(不支持翻看命令记录)
    Macbook 系统升级后,每次打开应用鼠标指针隐藏
    1分钟Ubuntu下搭建http web server apache2
    3分钟Ubuntu系统下配置静态IP和DHCP服务
    形容女生还在用beautiful,难怪没有女朋友
    insserv: warning: script 'S90dvc-core' missing LSB tags and overrides&dpkg: error processin
    Grammar Framework 1
  • 原文地址:https://www.cnblogs.com/shenxm/p/8403751.html
Copyright © 2011-2022 走看看