该程序是基于凌蒙派OpenHarmony-v3.2.1标准系统C++公共基础类库的简单案例:HelloWorld。
主要讲解C++公共基础类库案例如何搭建和编译。
在//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 参与编译。
创建//samples/a21_utils_helloworld 目录,并添加如下文件:
a21_utils_helloworld├── utils_helloworld_sample.cpp # .cpp源代码├── 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文件的内容一致。
utils_helloworld_sample.cpp具体代码如下:
#include
using namespace std;
int main(int argc, char *argv[]){ cout << "Hello, World!" << endl; return 0;}
系统启动后,运行命令:
utilshelloworld
运行结果:
# utilshelloworldHello, World!#
全部0条评论
快来发表一下你的评论吧 !