1、程序简介
该程序是基于OpenHarmony的C++公共基础类库的简单案例:HelloWorld。
该应用案例已在OpenHarmony凌蒙派-RK3568开发板(即OpenHarmony-v3.2.1-release)运行正常,详细说明及案例源代码可参考:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3568-openharmony/tree/master/samples/a21_utils_helloworld
2、程序解析
2.1、创建编译引导
在//vendor/lockzhiner/rk3568/ohos.build添加编译模块系统名称。
{"parts": {"product_rk3568": {"module_list": ["//vendor/lockzhiner/rk3568/default_app_config:default_app_config","//vendor/lockzhiner/rk3568/image_conf:custom_image_conf","//vendor/lockzhiner/rk3568/preinstall-config:preinstall-config","//vendor/lockzhiner/rk3568/resourceschedule:resourceschedule","//vendor/lockzhiner/rk3568/etc:product_etc_conf","//vendor/lockzhiner/rk3568/samples:samples"]}},"subsystem": "product_lockzhiner"}
注意:"//vendor/lockzhiner/rk3568/samples:samples"表示将vendor/lockzhiner/rk3568/samples目录添加到编译中。
在//vendor/lockzhiner/rk3568/samples/BUILD.gn文件添加一行编译引导语句。
import("//build/ohos.gni")group("samples") {deps = ["a21_utils_helloworld:utilshelloworld",]}
"//samples/a21_utils_helloworld:utilshelloworld",该行语句表示引入//a21_utils_helloworld 参与编译。
2.2、创建编译项目
创建//samples/a21_utils_helloworld 目录,并添加如下文件:
a21_utils_helloworld├── utils_helloworld_sample.cpp # .cpp源代码├── BUILD.gn # GN文件
2.3、创建BUILD.gn
编辑BUILD.gn文件。
import("//build/ohos.gni")ohos_executable("utils_helloworld") {sources = [ "src/utils_helloworld_sample.cpp" ] # 参与编译的源代码文件include_dirs = ["//commonlibrary/c_utils/base:utils","//third_party/googletest:gtest_main"]part_name = "product_rk3568" # 模块名称install_enable = true # 安装到系统中}
注意:
(1)BUILD.gn中所有的TAB键必须转化为空格,否则会报错。如果自己不知道如何规范化,可以:
# 安装gn工具sudo apt-get install ninja-buildsudo apt install generate-ninjas# 规范化BUILD.gngn format BUILD.gn
(2)可执行程序的名称
ohos_executable("utilshelloworld")中的utilshelloworld为可执行程序的名称,必须与//samples/BUILD.gn文件的内容一致。
2.4、创建源代码
utils_helloworld_sample.cpp具体代码如下:
using namespace std;int main(int argc, char *argv[]){cout << "Hello, World!" << endl;return 0;}
3、运行程序
系统启动后,运行命令:
utils_helloworld
4、运行结果
运行结果:
# utilshelloworldHello, World!#

