`

Linux的软件源代码包编译安装,make

 
阅读更多

源代码包编译安装步骤

1 下载软件源代码包,解压并移动到/usr/local/src/路径下

2 进入源代码路径,查阅INSTALL或README文件

3 根据INSTALL或README的内容查看并安装好一些相依性软件

4 configure/config文件,执行侦测系统环境,并自动生成Makefile文件

5 Makefile/makefile文件,记录了源代码如何编译的详细信息

6 gcc编译器,编译环境

7 make命令,依据Makefile文件的定义进行编译或安装

 

Makefile基本语法

1 target与目标文件之间需要":"分隔,每个target表示一个动作 

2 命令行必须要以tab为开头

3 变量与变量内容以"="分隔,两边可以具有空格

4 运用变量时,以$(变量)或${变量}使用

5 在该shell的环境变量是可以被使用的,如CFLAGS

6 在指令列模式可以设置变量

7 $@代表目前的target

 

源代码编译安装常用命令

./configure

侦测系统环境,并生成Makefile文件

configure可以通过--prefix指定安装路径

make clean

执行Makefile中clean部分的工作

删除以前编译生成的文件

make

执行Makefile中预设工作进行编译

make install

执行Makefile中install部分的工作

将编译成功的文件安装到预定的路径下

 

gcc简单用法

gcc -c hello.c 仅将源代码编译成目标文件
gcc -O -c hello.c  编译时,根据环境给予优化执行速度

gcc sin.c -lm -L/usr/lib -I/usr/include 

编译时,设定函数库的路径和头文件路径
gcc -o hello hello.c 指定二进制文件的名字
gcc -o hello hello.c -Wall -Wall,编译过程会比较严谨,会显示警告信息

 

其他相关命令

patch 更新补丁,也可以还原
ldconfig

将指定的动态函数库加载到缓存中,加快函数库的读取速度

/etc/ld.so.conf设置那些动态函数库路径需要加载

/etc/ld.so.cache记录已经保存在缓存中的动态函数库

ldd 显示程序或函数库的依赖性,需要调用哪些函数库

md5sum

sha1sum 

以md5检验文件完整性

以sha1检验文件完整性

 

 

分享到:
评论

相关推荐

    tcmalloc源代码及编译安装教程

    安装tcmalloc所需的源代码,和完整编译安装应用过程。 unzip tcmalloc.zip tar -zxvf gperftools-2.1.tar.gz cd gperftools-2.1 ./configure --disable-cpu-profiler --disable-heap-profiler --disable-heap-...

    嵌入式linux上的虚拟网卡驱动源代码和Makefile编译驱动文件源代码

    嵌入式linux上的虚拟网卡驱动源代码和Makefile编译驱动文件源代码

    uClinux源代码中Make文件完全解析

    内容简介: 在Linux或μClinux源代码中,Make文件是一种重要的文件,它担当着编译生成系统目标代码的重任。本书立足于μClinux源代码,通过分析其中的Make文件,以及与这些Make文件密切相关的部分源代码,给出一...

    Linux 版可实盘的CTP源代码

    Linux 版可实盘的CTP源代码,Linux 和 C语言 功底弱的请不要下载,:-) 重新一下simnow账号密码就可以运行, 在defs.h中 支持simnow, 可接收ctp数据,形成K Bar, 并存档 TD & MD已封装成纯C接口 简单shell, 供调试用 ...

    linpop聊天软件源代码

    linux下的聊天软件(即时通讯软件)源代码,涉及udp,socket,gtk。来自大连东软项目,直接make就可使用,共享学习。

    计算机病毒与防护:Linux软件操作.pptx

    RPM(redhat Package Manager)是Linux下最流行的软件包管理工具,通过将源代码基于特定平台系统编译为可执行文件,并保持依赖关系,来简化开源软件的安装管理。 YUM RPM无法自动解决软件的依赖关系,使用YUM可以...

    Linux下C编程_源代码

    Linux C编程实战 Linux下C编程_源代码.rar 每一章的源代码可以使用命令“make”进行编译,使用该命令可以生成该章所有可执行程序。

    linux驱动开发第三版SCULL驱动源代码(CentOS6.7 Make无error)

    linux驱动开发第三版SCULL驱动源代码(CentOS6.7 Make无error),书中自带的版本太低,在新的OS上面编译出错,该版本已经更改,编译Pass

    curl-7.83.1源代码编译的android库,android-ndk-r20b编译64位

    ./configure --prefix=/usr/local/android --host aarch64-linux-android --with-pic --disable-shared make -j4;make install 在wsl下面用ndk20编译的, aarch64-linux-android29-clang++ aarch64-linux-android-...

    RT3370 RT3070 RT2870 RT5370 RT5372 linux驱动源代码

    RT3370 RT3070 RT2870 RT5370 RT5372 linux驱动源代码,在x86下的高内核的版本直接make。 arm下要改下。方法在我传的另一个文档中。我写的日志中也有移植方法。

    Linux/UNIX系统编程手册(源代码)

    Linux/UNIX系统编程手册源代码(来自官方网站),代码在Linux发行版上可以编译运行,执行make命令即可。

    Linux下的保护眼睛的工具的源代码 (EyeGuard)

    唉想下东西没有资源分,只好把自己写的Linux下的保护眼睛工具的源代码上传。写的不是很好,但是能工作。对于使用Linux桌面平台的人保护眼睛又一定帮助。编译的话请先运行源代码目录中的autogen.sh.然后执行make就好...

    windows上可编译Linux内核

    在最后,要感谢《自己动手写操作系统》的作者于渊,其实我也是先将原先只能在Linux下编译的书里源代码用MinGW移植到Windows下编译的过程中才试着在Windows下编译Linux 0.11源代码的,有了在Windows下编译Linux 0.11...

    源代码_BT下载程序(linux C )

    该源代码可以使用命令“make”进行编译,使用该命令可以生成可执行程序。在编译生成可执行程序时,可能会生成警告:“warning:no newline at end of file”,产生这个警告是该有源代码是在Windows中进行编写的,...

    西南科技大学+Linux实验报告+Linux环境下C语言编程

    一、实验目的 1.熟悉字符模式下的C程序编译和调试环境 2.基本掌握Linux字符模式下的编译工具和调试工具的使用 3.掌握自动编译工具make的使用和Makefile的编写... 1、源代码级别的调试和二进制级别的调试有什么区别?

    Linux实验十三 Uboot和Linux内核配置与编译实验

    1.实验目的 掌握U-Boot和Linux的编译配置方法 2.实验内容 ...注意:本实验主要为练习Uboot的编译过程和命令,采用的UBoot版本uboot_amdkv210不是实验板配套的superboot的源代码。故,编译好后,不能在开发

    类copy的Linux下的源代码

    这是一个实现类copy的Linux下的用vi 编辑出来的代码,使用C语言实现编程,可以用gcc编译实现,(用Makefile打包。用常用的tar命令解压后,进入解压出来的文件),用./confiure,make,make install,make clear,这四...

    电子词典源代码(linux下运行)

    这是在学习过程中写的一个小程序,说实话,写的并不是太优秀,不过运行还算可以,在当前文件夹下make就能生成可执行文件,然后执行就可以了,要在linux下编译

    Linux操作练习的仓库.rar

    使用软件首先要拥有软件,那么Linux的软件也是需要根据需求安装的,本文主要讲述如何安装软件,以及如何搭建软件下载仓库。 2.软件安装 2.1 rpm和yum yum用于解决rpm需要手动安装的要求,因为rpm安装软件的时候可能...

    RXTXComm(rxtx-2.2pre2-arm版)Debian10下源码编译生成JAR文件

    查阅了网上大量资料,很难找到可以使用的RXTX的Linux ARM版本JAR包文件,所以只好自己编译源代码了。 1.JDK安装  Debian系统安装JDK1.8.0_381(jdk-8u381-linux-aarch64.tar)、配置JDK环境变量。 2.源码编译 将...

Global site tag (gtag.js) - Google Analytics