目录
问题1:make: WARNING:Set: Command not found
问题2:./Configuring_ubuntu.sh: {msg:{user_not_login:用户未登录},data:{account_type:0},code:1000}: not found
问题4:fatal error 'stdio.h' file not found
问题描述:使用百问网的教程,在鸿蒙LiteOs中输入make -j 8编译内核的时候出现make: WARNING:Set: Command not found的错误,这个问题困扰了我3天,重装了9次ubuntu系统也没有解决:
最后发现有3种解决方法:
方法1(成功率最高):等到先打完补丁之后,重新再去运行前面配置环境的代码
运行下面配置环境的代码:
亲测这种方法能够有90%的把握解决前面的问题。如果问题解决了【帮忙点赞+收藏一下吧】
我就是通过方法1成功编译内核的:
方法2:直接使用百问网提供的虚拟机,再结合方法1的操作!!结合方法1的操作!据反馈能解决99%的问题。
03_100ask_imx6ull_mini_2022.08_免费高速下载|百度网盘-分享无限制 (baidu.com)
03_100ask_imx6ull_mini_2022.08/02_开发工具/100ask-vmware_ubuntu18.04下下载压缩包。
文件略微有点大,如果下载不便,可【点赞+收藏后私信我领取】
下载后的ubuntu文件包含有Ubuntu 18.04.2(64bit.vmdk),如下图:
可直接通过虚拟机打开:
选择下面ubuntu 18.04_x64.vmx文件打开:
方法3:找完成的同学clone虚拟机。如果尝试过上面2种方法也不能解决,那还是找已经成功的同学克隆复制虚拟机吧。
等所有步骤操作完之后会有下面2个文件:
问题描述:输入./Configuring_ubuntu.sh后出现上面的报错
解决方法:
rm -rf DevelopmentEnvConf
git clone https://e.coding.net/weidongshan/DevelopmentEnvConf.git
cd DevelopmentEnvConf
sudo ./Configuring_ubuntu.sh
【如果有效记得点赞+收藏哟,方便下次查看】
问题描述:当用apt-get命令下载的时候,会提示进程被占用的信息。查找网上的资料有说用下面2条命令能解决:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
但我尝试后不能解决,研究了半小时找到了解决方法:
解决方法:
先进入文件夹,点击Other Locations
按照下面的方式进入var/lib/dpkg目录:
看到lock文件,我们手动删除它:
右键空白地方,选择打开终端:
输入下面代码就删除成功了,现在应该就不存在占用问题了!
【如果有效的话点个赞吧,摸索了好久才解决的】
问题描述:使用make编译文件的时候报错,显示stdio.h等头文件没找到
问题分析:一般是配置问题,导致编译器gcc找不到头文件的配置,我们一般有2种解决方法:
解决方案:
首先我们输入如下代码,用于查找stdio.h文件在哪个位置,可以替换头文件名:
find /home/book/openharmony/prebuilts/lite/sysroot/ -name stdio.h
如下是返回的文件路径:一般是在这个路径下: /home/book/openharmony/prebuilts/lite/sysroot/usr/include/arm-liteos
然后输入下面的代码进行编译即可:
clang -target arm-liteos --sysroot=/home/book/openharmony/prebuilts/lite/sysroot/ -I/home/book/openharmony/prebuilts/lite/sysroot/usr/include/arm-liteos/ -o hello hello.c
-I
是一个编译器选项,用于告诉编译器在哪里查找头文件。 下面这段代码告诉编译器在 /home/book/openharmony/prebuilts/lite/sysroot/usr/include/arm-liteos/
这个目录下查找头文件。
可以上面的代码修改后放在同级的Makefile文件里:
可以看到默认是不带头文件路径的。
代码如下图,注意要把上面$@ $^那些代码改掉,否则会出现目标架构不兼容的问题:
第2种方法:就是直接更改gcc的配置,使其扫描到头文件所在的位置,这个危险性比较大,且不够灵活,可能因为写错部分字符导致其它文件也不能编译,推荐大家慎用哈~
——————————————————————
1. 接口:接口默认被public abstract修饰,抽象方法无方法体,被default和static修饰的方法必须有方法体。抽象方法不可以有方法体。
2. 执行父类的静态代码块,执行子类的静态代码块,执行父类的构造代码块,执行父类的构造函数,执行子类的构造代码块,执行子类的构造函数
3. 线程生命周期5种状态:初始态,就绪态,运行态,阻塞态,死亡态。
4.