1、程序简介
该程序是基于凌蒙派OpenHarmony-v3.2.1标准系统C++公共基础类库的简单案例:HelloWorld。
主要讲解C++公共基础类库案例如何搭建和编译。
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
2.3、创建BUILD.gn
编辑BUILD.gn文件。
import("//build/ohos.gni")ohos_executable("utilshelloworld") { 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
using namespace std;
int main(int argc, char *argv[]){ cout << "Hello, World!" << endl; return 0;}
3、运行程序
系统启动后,运行命令:
utilshelloworld
4、运行结果
运行结果:
# utilshelloworldHello, World!#
-
源代码
+关注
关注
96文章
2942浏览量
66413 -
系统
+关注
关注
1文章
1001浏览量
21200 -
OpenHarmony
+关注
关注
25文章
3534浏览量
15707
发布评论请先 登录
相关推荐
基于OpenHarmony标准系统的C++公共基础类库案例:ThreadPoll
基于OpenHarmony标准系统的C++公共基础类库案例:Semaphore
基于OpenHarmony标准系统的C++公共基础类库案例:rwlock
基于OpenHarmony标准系统的C++公共基础类库案例:SafeMap
基于OpenHarmony标准系统的C++公共基础类库案例:SafeQueue
基于OpenHarmony标准系统的C++公共基础类库案例:SafeStack
OpenHarmony C++公共基础类库应用案例:HelloWorld
OpenHarmony C++公共基础类库应用案例:Thread
基于OpenHarmony标准系统的C++公共基础类库案例:SafeBlockQueue
![基于<b class='flag-5'>OpenHarmony</b><b class='flag-5'>标准系统</b>的<b class='flag-5'>C++</b><b class='flag-5'>公共</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:SafeBlockQueue](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
基于OpenHarmony标准系统的C++公共基础类库案例:SafeStack
![基于<b class='flag-5'>OpenHarmony</b><b class='flag-5'>标准系统</b>的<b class='flag-5'>C++</b><b class='flag-5'>公共</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:SafeStack](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
基于OpenHarmony标准系统的C++公共基础类库案例:SafeQueue
![基于<b class='flag-5'>OpenHarmony</b><b class='flag-5'>标准系统</b>的<b class='flag-5'>C++</b><b class='flag-5'>公共</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:SafeQueue](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
基于OpenHarmony标准系统的C++公共基础类库案例:rwlock
![基于<b class='flag-5'>OpenHarmony</b><b class='flag-5'>标准系统</b>的<b class='flag-5'>C++</b><b class='flag-5'>公共</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:rwlock](https://file.elecfans.com/web2/M00/26/21/pYYBAGG5jjSALfrEAAAwAa9Oig8799.png)
评论