OpenHarmony C++公共基础类库应用案例:HelloWorld 原创
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-build
sudo apt install generate-ninjas
# 规范化BUILD.gn
gn format BUILD.gn
(2)可执行程序的名称
ohos_executable("utilshelloworld")
中的utilshelloworld
为可执行程序的名称,必须与//samples/BUILD.gn文件的内容一致。
2.4、创建源代码
utils_helloworld_sample.cpp具体代码如下:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout << "Hello, World!" << endl;
return 0;
}
3、运行程序
系统启动后,运行命令:
utils_helloworld
4、运行结果
运行结果:
# utilshelloworld
Hello, World!
#