保姆级讲解Linux系统中程序使用make编译

build/envsetup.sh
每次开始编译开始的第一个命令便是source build/envsetup.sh,其中source命令就是用于运行shell脚本命令,功能等价于”.”,因此该命令也等价于. build/envsetup.sh。在文件envsetup.sh声明了当前会话终端可用的命令,这里需要注意的是当前会话终端,也就意味着每次新打开一个终端都必须再一次执行这些指令。build/envsetup.sh文件存在的意义就是,设置一些环境变量和shell函数为后续的编译工作做准备。 接下来我们分析下
envsetup.sh.

命令————envsetup.sh中的函数简介
导入envsetup.sh系统会都出一些命令,先看下命令的作用

常用的命令

编译指令    解释
mm    编译当前路径下所有模块,但不包含依赖
mmm [module_path]    编译指定路径下所有模块,但不包含依赖
mma    编译当前路径下所有模块,且包含依赖
mmma [module_path]    编译指定路径下所有模块,且包含依赖
make [module_name]    无参数,则表示编译整个Android代码
cgrep    当前目录下所有C/C++文件执行搜索操作
jgrep    当前目录下所有Java文件执行搜索操作
ggrep    当前目录下所有Gradle文件执行搜索操作
mangrep [keyword]    当前目录下所有AndroidManifest.xml文件执行搜索操作
mgrep [keyword]    当前目录下所有Android.mk文件执行搜索操作
sepgrep [keyword]    所有sepolicy文件执行搜索操作
resgrep [keyword]    当前目录下所有本地res/*.xml文件执行搜索操作
sgrep [keyword]    当前目录下基于(c
croot    切换至Android根目录
cproj    切换至工程的根目录
godir [filename]    跳转到包含某个文件的目录
hmm    查询所有的指令help信息
————————————————
版权声明:本文为CSDN博主「蓝微晨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a567890k/article/details/79412382

以上做了一个引用,以助于讲解. build/envsetup.sh。

接下来便是正题:

1.进入代码存放的文件夹,执行该命令:

. build/envsetup.sh

 

 之后执行 mm 命令

 2.根据以上要求执行安装命令

sudo apt install make

 3.然后便是执行lunch命令,envetsup装载lunch功能代码,其主要是用于配置编译环境。

 选择自己需要的id

4.这里说需要安装JDK6

去官网下载一个就可以

https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html 

 5.下载完之后会在”Downloads“文件夹下面

 先给该文件添加权限

sudo chmod a+x ~/Downloads/jdk-6u45-linux-x64.bin

然后再在当前文件夹打开终端执行命令

sudo ~/Downloads/jdk-6u45-linux-x64.bin

 之后会得到一个文件夹

 6.完成后可以在终端中输入指令,将它复制到 /usr/lib 下

sudo cp -r jdk1.6.0_45/ /usr/lib/

7.然后是环境变量的配置

 8.如果之前步骤正确,可以直接将这段复制进去

export JAVA_HOME=/usr/lib/jdk1.6.0_45

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

 9.然后终端中执行指令,更新刚刚的修改

source /etc/profile

10.最后用java -version命令查看java版本,看看是否配置成功

 11*.需要注意一点,在当前只有使用了 source /etc/profile 的终端可以使用java环境变量,而其他线程目前还不行,重启虚拟机就可以了。

12.重启之后重复最开始的步骤,打开存有代码的文件夹,然后执行:

 接着输入 lunch 指令

 再输入需要的文件编号

 13.之后再执行 make 命令

 我是有出现版本过高不能编译的错误,只有3.81和3.82的版本可以

14.下载地址为  http://ftp.gnu.org/gnu/make/

15.然后解压 make到目录中 

tar –xjvf make-3.81.tar.bz2

接着进入到 make-3.81目录当中执行 

./configure

 这时可能会有报错,比如找不到 gcc 等等,缺什么就安什么 ,apt install 等等...

*必须注意* 安装所需依赖时,有可能报错,多换换 apt源试试

换源之后别忘了 apt update

16.完成之后继续  ./configure 

17.接着执行make命令

我在这里遇到一个error

 这里一般都会报错。

解决方案是,打开 glob/glob.c 

注释掉210行 和 231行

gedit glob/glob.c

 

 18.然后执行make clean命令,尤其是如果第一次没改之前失败了,别忘了make clean一下。

 19.再执行一次make命令

 是可以看到之前哪个错误是没有了的

 20.最后一步,make install 

完成之后,make -v 就可以看到已经是3.81版本了

 

 以上。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值