1# 编译构建指导
2
3## 编译环境
4OpenHarmony开发需要预先配置编译环境,各类环境的配置分别如下
5
6
7### 1.基于Ubuntu环境开发编译
8OpenHarmony的源码获取请参考[源码获取](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md)9编译环境的配置请参考[环境配置](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-build-all.md#%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%A)。
10
11### 2.docker环境编译
12OpenHarmony为开发者提供了两种Docker环境,分别为独立Docker环境、基于HPM的Docker环境。开发者下载源码后,可以开始搭建OpenHarmony提供的Docker环境。详情请参考[Docker指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/gettools-acquire.md)13
14### 3.基于WSL环境开发编译
15此配置以windows10下配置ubuntu20.04为例,为所有与 OpenHarmony编译产品时必要的前置操作。
16
17**一、电脑首次设置**
181. 打开设置->安全和更新->开发者选项,选择为“开发人员模式”。
192. Win + R运行control appwiz.cpl指令,在启用或关闭Windows功能中勾选适用于Linux的Windows子系统和虚拟机平台两项启用,重启。
203. 以管理员身份打开PowerShell并运行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart,开启Windows子系统功能。
21
22**二、环境配置**
231. windows官方商店下载安装ubuntu20.04并配置root用户密码。
242. wsl文件映射在\\wsl路径下,通过\\wsl\Ubuntu-20.04打开文件所在位置,右键此电脑添加网络映射驱动。
253. windows命令窗口查看当前wsl版本: wsl -l -v ,升级为2:wsl --set-version Ubuntu-20.04 2 (这里的ubuntu版本根据具体使用版本而定)。
264. 执行:ls -l /bin/sh,如果为dash环境则需要修改为bash。
275. 获取源码请参考[源码获取](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md)28
29## 编译执行
30在搭建好编译环境并且获取源码后,开始进入编译执行阶段。编译之前先执行预编译命令。
31
32编译执行可分hb编译和脚本编译,脚本编译中轻设备与富设备的编译所使用的脚本不同。
33
34
35### 1.hb编译
36hb的安装以及编译执行请参考[hb构建指导](https://gitee.com/openharmony/build/blob/master/hb/README_zh.md)37
38### 2.富设备
39富设备的编译调用build.sh脚本,其各个形态的编译命令请参考[编译命令](https://gitee.com/openharmony-sig/cicd/tree/build_config/openharmony/master)40
41### 3.轻设备
42轻设备的编译调用build.py脚本,其各个形态的编译命令请参考[编译命令](https://gitee.com/openharmony-sig/cicd/tree/build_config/openharmony/master)