鸿蒙开源组件—— 系统头文件和标准库
jiecho
发布于 2021-7-21 16:06
浏览
0收藏
sysroot
简介
sysroot是一个用作clang编译器查找标准库和头文件的根目录,其中libc库是由开源库musl编译得到。
目录
/prebuilts/lite/sysroot
├── build # 工具链构建目录,包括构建脚本
├── thirdparty # 临时生成的工具链构建所需的三方头文件
├── usr # 对外C库及头文件
│ ├── include # 对外头文件存放目录
│ │ └── arm-liteos # 工具链对应的芯片架构
│ └── lib # 对外C库存放目录
│ └── arm-liteos # 工具链对应的芯片架构
约束
只适用于OpenHarmony内核。
编译构建
musl库bug修复或者新版本更新时,需要重新编译构建新的libc库。分别执行build目录下的thirdparty_headers.sh和build_musl_clang.sh脚本即可编译构建出新的libc库,存放于/prebuilts/lite/sysroot/build/usr目录下,然后替换/prebuilts/lite/sysroot/usr目录下对应的头文件及libc库即可。
使用说明
- 将clang编译器bin目录设置到环境变量中,编译环境的搭建可以参考(for HI3518EV300, for HI3516DV300)。
- 编译用户程序helloworld.c示例如下:
clang -o helloworld helloworld.c -target arm-liteos -L ~/llvm/lib/clang/9.0.0/lib/arm-liteos/a7_softfp_neon-vfpv4 --sysroot=/usr/xxx/OS/prebuilts/lite/sysroot/
其中,编译器目录为~/llvm。
相关仓
内核子系统
prebuilts_lite_sysroot
openharmony-prebuilts_lite_sysroot-maste.zip 16.96M 36次下载
已于2021-7-21 16:06:08修改
赞
2
收藏
回复
相关推荐
这么好的内容,为什么没人顶