Openharmony代码编译缺少头文件问题

1. 编译报错缺少GL/glx.h

问题现象:

分析:

  • 使用find命令查找Openharmony整体代码中glx.h
./workspace/master/third_party/mesa3d/include/GL/glx.h
  • 查看编译出错的cpp编译参数,未找到-I ${path}/third_party/third_party/include这样的编译参数(其中path代指路径)

我们知道编译器搜索的默认路径为:

/usr/include:系统级别的头文件。

/usr/local/include:本地安装软件的头文件。

./:当前目录。

在默认路径中查找glx.h,均未找到。故,环境没有安装对应的库。

解决办法:

使用apt-get 安装一下libgl1-mesa-dev库即可。

2. 编译报错缺少X11/Xcursor/Xcursor.h

问题现象:

分析:

  • 使用find命令查找Openharmony整体代码中Xcursor.h。未找到。
  • 在默认路径中查找Xcursor.h,均未找到。故,环境没有安装对应的库。

解决办法:

使用apt-get 安装一下libxcursor-dev库即可。

3. 编译报错缺少X11/extensions/Xrandr.h

问题现象:

分析:

  • 使用find命令查找Openharmony整体代码中Xrandr.h。未找到。
  • 在默认路径中查找Xrandr.h,均未找到。故,环境没有安装对应的库。

解决办法

使用apt-get安装一下libxrandr-dev库。

总结

一般Openharmony里面报这种找不到头文件的,然后门禁上能编译过的,参考确认过程:

先在Openharmony代码里面find一下,看看有没有这个头文件。
如果有,看编译报错的源码的编译参数有没有使用-I编译参数引入这个头文件的路径。
如果编译参数未找到源码中的头文件路径,那用的就是系统的。编译器默认搜索路径:

在默认路径下查找无果的话,则表示环境上缺少头文件所在库。使用agt-get安装对应库即可。具体库名称依头文件而定。

确定库名称的方法:

举例:缺少Xcursor.h,则打开搜索引擎,输入“缺少X11/extensions/Xrandr.h”,即可在搜索结果中找到需要安装的库名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值