【FFH】OpenHarmony 编译报错 原创
前言
前面对于部分源码在文件夹讲解主要是根据 Hi3861开发板来展开的。
笔记总结
源码部分重要文件夹介绍
源码的获取以及编译是用 DevEco Device Tool一站式集成开发环境搭建
具体操作请参考此处
下图是源码
源码的版本是3.1.1
Verdor文件夹
主要是一些开发厂商的配置(下图是一些开发厂商)
这里只需要了解一下,这里的代码几乎很少改动。
其中Hi3861 的配置:
device文件夹
这里有两个比较重要的文件夹:board 和soc
其中board是开发板的配置信息(这里也是基本上很少改动)。
demo
soc里面有相关开发板的demo,路径如下:
写代码时候可以参考一下demo来写。
src
soc里面还有一个比较重要的:
这里有一个main()函数,这里是整个板子启动以后是在这个函数里面运行的。
include
里面还有一个比较重要的include 文件。
这里面只要保存了 一些头文件,我们可以查看这些头文件里面的相关用法:例如IO口的复用。
build/config
这里面主要是一些未打开的功能,我们要使用这些功能的时候需要把注释去掉,避免报错
####application文件夹
里面有个app的文件夹是用来编写代码的。
在编写应用的时候一般会用到上面两个文件夹
编译报错类型
头文件丢失
解决方法:添加include对应的头文件
头文件找不到
在Build.gn里面把头文件的路径加进去(原因是BUILD.gn里面可以告诉编译器头文件去哪里找)
例:出现下图报错的时候
下图告诉了头文件所在的位置
将这个位置复制进BUILD.gn文件就可以了。
(注意在前面加”//“)
这里还需要注意的一个点就是这里需要打空格,不可以用Tab键代替。
宏找不到
解决办法:添加对应的头文件
例:出现下图报错时候
我们可以通过查找:
grep 报错的宏定义 * -nR
来寻找:
找到图中定义宏定义所存储的头文件,然后在我们所编写代码的.C文件中加上即可。
例:
通过grep来找到路径。
加完头文件记得在BUILD.gn里面加入头文件的路径告诉编译器寻找(方法在报错头文件找不到当中)
函数未定义
解决方法:
例:如果是驱动的话,打开相应驱动功能。
出现 undefined reference to " "
然后就在下图找到需要打开的功能