大数跨境

OpenHarmony C++公共基础类库应用案例:HelloWorld

OpenHarmony C++公共基础类库应用案例:HelloWorld 凌智电子
2023-11-22
4
导读:该程序是基于OpenHarmony的C++公共基础类库的简单案例:HelloWorld。该应用案例已在OpenHarmony凌蒙派-RK3568开发板(即OpenHarmony-v3.2.1-rele

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具体代码如下:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){ cout << "Hello, World!" << endl; return 0;}

3、运行程序

系统启动后,运行命令:

utils_helloworld

4、运行结果

运行结果:

# utilshelloworldHello, World!#






【声明】内容源于网络
0
0
凌智电子
凌智电子-Lockzhiner Electronic,专注仪器仪表20年,一定带给您更多的方便与惊喜!
内容 118
粉丝 0
凌智电子 凌智电子-Lockzhiner Electronic,专注仪器仪表20年,一定带给您更多的方便与惊喜!
总阅读3
粉丝0
内容118