From 6f6f595d756ee670a3d9fa40920e6514b9e162b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=93=81?= <2372581223@qq.com> Date: Thu, 20 Jun 2024 14:15:34 +0800 Subject: [PATCH 1/3] =?UTF-8?q?OAT.xml=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李铁 <2372581223@qq.com> --- thirdparty/gc/OAT.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/thirdparty/gc/OAT.xml b/thirdparty/gc/OAT.xml index 211b81fb..eeb1f946 100644 --- a/thirdparty/gc/OAT.xml +++ b/thirdparty/gc/OAT.xml @@ -4,11 +4,9 @@ - - -- Gitee From 2049a90740a72b167840c803bc369f241247a0b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=93=81?= <2372581223@qq.com> Date: Thu, 20 Jun 2024 14:20:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=93qhull=E4=B8=8A?= =?UTF-8?q?=E4=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李铁 <2372581223@qq.com> --- thirdparty/qhull/HPKBUILD | 65 ++++++++++++++++ thirdparty/qhull/HPKCHECK | 36 +++++++++ thirdparty/qhull/OAT.xml | 16 ++++ thirdparty/qhull/README.OpenSource | 11 +++ thirdparty/qhull/README_zh.md | 14 ++++ thirdparty/qhull/SHA512SUM | 1 + thirdparty/qhull/docs/hap_integrate.md | 84 +++++++++++++++++++++ thirdparty/qhull/docs/pic/qhull-dev.png | Bin 0 -> 15145 bytes thirdparty/qhull/docs/pic/test-cmd-ret.png | Bin 0 -> 16743 bytes 9 files changed, 227 insertions(+) create mode 100644 thirdparty/qhull/HPKBUILD create mode 100644 thirdparty/qhull/HPKCHECK create mode 100644 thirdparty/qhull/OAT.xml create mode 100644 thirdparty/qhull/README.OpenSource create mode 100644 thirdparty/qhull/README_zh.md create mode 100644 thirdparty/qhull/SHA512SUM create mode 100644 thirdparty/qhull/docs/hap_integrate.md create mode 100644 thirdparty/qhull/docs/pic/qhull-dev.png create mode 100644 thirdparty/qhull/docs/pic/test-cmd-ret.png diff --git a/thirdparty/qhull/HPKBUILD b/thirdparty/qhull/HPKBUILD new file mode 100644 index 00000000..176cfbdc --- /dev/null +++ b/thirdparty/qhull/HPKBUILD @@ -0,0 +1,65 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Contributor: Jeff Han ,li-santian <2372581223@qq.com> +# Maintainer: Jeff Han + +pkgname=qhull +pkgver=8.1-alpha3 +pkgrel=0 +pkgdesc="Qhull is a general dimension code for computing convex hulls, Delaunay triangulations, halfspace intersections about a point, Voronoi diagrams, furthest-site Delaunay triangulations, and furthest-site Voronoi diagrams." +url="https://github.com/qhull/qhull" +archs=("armeabi-v7a" "arm64-v8a") +license=("Qhull Libre Software License") +depends=() +makedepends=() + +source="https://codeload.github.com/$pkgname/$pkgname/zip/refs/tags/v8.1-alpha3" +downloadpackage=true +autounpack=true + +builddir=$pkgname-${pkgver} +packagename=$builddir.zip + +source envset.sh +prepare() { + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" \ + -DBUILD_STATIC_LIBS=ON \ + -B$ARCH-build -S./ > $buildlog 2>&1 + $MAKE VERBOSE=1 -C $ARCH-build >> $buildlog 2>&1 + ret=$? + cd $OLDPWD + return $ret + return 0 +} + +package() { + cd $builddir + $MAKE -C $ARCH-build install >> $buildlog 2>&1 + cd $OLDPWD + return 0 +} + +check() { + echo "The test must be on an OpenHarmony device!" +} + +# 清理环境 +cleanbuild() { + rm -rf ${PWD}/$builddir +} diff --git a/thirdparty/qhull/HPKCHECK b/thirdparty/qhull/HPKCHECK new file mode 100644 index 00000000..94fbb5eb --- /dev/null +++ b/thirdparty/qhull/HPKCHECK @@ -0,0 +1,36 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Contributor: Jeff Han ,li-santian <2372581223@qq.com> +# Maintainer: Jeff Han + +source HPKBUILD > /dev/null 2>&1 +logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log + +checkprepare(){ + return 0 +} + +# 在OH环境执行测试的接口 +openharmonycheck() { + res=0 + cd ${builddir}/${ARCH}-build + ctest > ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ];then + mkdir ${LYCIUM_FAULT_PATH}/${pkgname} + cp Testing/Temporary/LastTest.log ${LYCIUM_FAULT_PATH}/${pkgname}/ + fi + cd $OLDPWD + return $res +} diff --git a/thirdparty/qhull/OAT.xml b/thirdparty/qhull/OAT.xml new file mode 100644 index 00000000..eeb1f946 --- /dev/null +++ b/thirdparty/qhull/OAT.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/qhull/README.OpenSource b/thirdparty/qhull/README.OpenSource new file mode 100644 index 00000000..fdcd1eb9 --- /dev/null +++ b/thirdparty/qhull/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "qhull", + "License": "Qhull Libre Software License", + "License File": "COPYING", + "Version Number": "qhull-v8.1-alpha3", + "Owner": "huangminzhong2@huawei.com", + "Upstream URL": "https://codeload.github.com/$pkgname/$pkgname/zip/refs/tags/v8.1-alpha3", + "Description": "qhull is a general dimension code for computing convex hulls, Delaunay triangulations, halfspace intersections about a point, Voronoi diagrams, furthest-site Delaunay triangulations, and furthest-site Voronoi diagrams. " + } +] diff --git a/thirdparty/qhull/README_zh.md b/thirdparty/qhull/README_zh.md new file mode 100644 index 00000000..b0147950 --- /dev/null +++ b/thirdparty/qhull/README_zh.md @@ -0,0 +1,14 @@ +# qhull 三方库说明 + +## 功能简介 + +qhull 是一个用于计算凸包、Delaunay 三角剖分和 Voronoi 图等计算几何问题的开源库。 + +## 使用约束 + +- SDK版本:ohos_sdk_linux 5.0.3.100 +- 三方库版本:qhull-v8.1-alpha3 + +## 集成方式 + ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/qhull/SHA512SUM b/thirdparty/qhull/SHA512SUM new file mode 100644 index 00000000..df82b189 --- /dev/null +++ b/thirdparty/qhull/SHA512SUM @@ -0,0 +1 @@ +2e4964279e983ff70b5d9509a76e5e5c3cb8c20badfc4bf10275f66142ab57c53a9ac95c48b9f415f2d39d5be387c45294532ce9b698c3ac484ff853fff7f9e0 qhull-8.1-alpha3.zip diff --git a/thirdparty/qhull/docs/hap_integrate.md b/thirdparty/qhull/docs/hap_integrate.md new file mode 100644 index 00000000..2fd37cab --- /dev/null +++ b/thirdparty/qhull/docs/hap_integrate.md @@ -0,0 +1,84 @@ +# qhull集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- [开发环境准备](../../../docs/hap_integrate_environment.md) + +## 编译三方库 + +* 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +* 三方库目录结构 + + ```shell + tpc_c_cplusplus/thirdparty/qhull #三方库qhull的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── HPKCHECK #测试脚本 + ├── OAT.xml #扫描结果文件 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md #三方库简介 + ``` + +* 在lycium目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#1编译环境准备) + + ```shell + cd lycium + ./build.sh qhull + ``` + +* 三方库头文件及生成的库 + + 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ```shell + qhull/arm64-v8a qhull/armeabi-v7a + ``` + +* [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的头文件拷贝到该目录下; +- 在IDE的entry目录下新增libs目录,将编译生成的.a文件拷贝到该目录下。如下图所示: + + ![thirdparty_install_dir](pic/qhull-dev.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + + ```cmake + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libqhullcpp.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libqhullstatic.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libqhullstatic_r.a) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/qhull/${OHOS_ARCH}/include/libqhull) + ``` + +## 测试三方库 + +- 编译出可执行的文件进行测试,[准备三方库测试环境](../../../lycium/README.md#3ci环境准备) + +- 进入到构建目录运行测试用例(注意arm64-v8a为构建64位的目录,armeabi-v7a为构建32位的目录),执行结果如图所示 + + ``` + cd /data/tpc_c_cplusplus/thirdparty/qhull/qhull-8.1-alpha3/armeabi-v7a-build + ctest + ``` + + ![libqhull_test](pic/test-cmd-ret.png) + +## 参考资料 + +* [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +* [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +* [libqhull三方库地址](https://github.com/qhull/qhull) diff --git a/thirdparty/qhull/docs/pic/qhull-dev.png b/thirdparty/qhull/docs/pic/qhull-dev.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cff73c37ffa95a111350e1b7091b2961c10d68 GIT binary patch literal 15145 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�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 F{{mI>m@NPR literal 0 HcmV?d00001 -- Gitee From 9696099d19cef19b223124ee3c683874d5a3500b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=93=81?= <2372581223@qq.com> Date: Thu, 20 Jun 2024 14:21:24 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=BA=93uriparser?= =?UTF-8?q?=E4=B8=8A=E4=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李铁 <2372581223@qq.com> --- thirdparty/uriparser/HPKBUILD | 66 ++++++++++++++ thirdparty/uriparser/HPKCHECK | 36 ++++++++ thirdparty/uriparser/OAT.xml | 16 ++++ thirdparty/uriparser/README.OpenSource | 11 +++ thirdparty/uriparser/README_zh.md | 14 +++ thirdparty/uriparser/SHA512SUM | 1 + thirdparty/uriparser/docs/hap_integrate.md | 85 ++++++++++++++++++ .../uriparser/docs/pic/test-cmd-ret.png | Bin 0 -> 120259 bytes .../uriparser/docs/pic/uriparser-dev.png | Bin 0 -> 17741 bytes 9 files changed, 229 insertions(+) create mode 100644 thirdparty/uriparser/HPKBUILD create mode 100644 thirdparty/uriparser/HPKCHECK create mode 100644 thirdparty/uriparser/OAT.xml create mode 100644 thirdparty/uriparser/README.OpenSource create mode 100644 thirdparty/uriparser/README_zh.md create mode 100644 thirdparty/uriparser/SHA512SUM create mode 100644 thirdparty/uriparser/docs/hap_integrate.md create mode 100644 thirdparty/uriparser/docs/pic/test-cmd-ret.png create mode 100644 thirdparty/uriparser/docs/pic/uriparser-dev.png diff --git a/thirdparty/uriparser/HPKBUILD b/thirdparty/uriparser/HPKBUILD new file mode 100644 index 00000000..6555b0c8 --- /dev/null +++ b/thirdparty/uriparser/HPKBUILD @@ -0,0 +1,66 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Contributor: Jeff Han ,li-santian <2372581223@qq.com> +# Maintainer: Jeff Han + +pkgname=uriparser +pkgver=uriparser-0.9.8 +pkgrel=0 +pkgdesc="uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C89." +url="https://github.com/uriparser/uriparser" +archs=("armeabi-v7a" "arm64-v8a") +license=("BSD 3-Clause License") +depends=("googletest") +makedepends=() + +source="https://codeload.github.com/$pkgname/$pkgname/zip/refs/tags/$pkgver" +downloadpackage=true +autounpack=true + +builddir=$pkgname-${pkgver} +packagename=$builddir.zip + +source envset.sh +prepare() { + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" \ + -DCAMEK_BUILD_TYPE=Release \ + -DURIPARSER_BUILD_DOCS:BOOL=OFF \ + -DCMAKE_INSTALL_PREFIX=${PWD}/../../../lycium/usr/$pkgname/$ARCH \ + -B$ARCH-build -S./ > $buildlog 2>&1 + $MAKE VERBOSE=1 -C $ARCH-build >> $buildlog 2>&1 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir + $MAKE -C $ARCH-build install >> $buildlog 2>&1 + cd $OLDPWD + return 0 +} + +check() { + echo "The test must be on an OpenHarmony device!" +} + +# 清理环境 +cleanbuild() { + rm -rf ${PWD}/$builddir +} diff --git a/thirdparty/uriparser/HPKCHECK b/thirdparty/uriparser/HPKCHECK new file mode 100644 index 00000000..ebb241c6 --- /dev/null +++ b/thirdparty/uriparser/HPKCHECK @@ -0,0 +1,36 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Contributor: Jeff Han ,li-santian <2372581223@qq.com> +# Maintainer: Jeff Han + +source HPKBUILD > /dev/null 2>&1 +logfile=${LYCIUM_THIRDPARTY_ROOT}/${pkgname}/${pkgname}_${ARCH}_${OHOS_SDK_VER}_test.log + +checkprepare(){ + return 0 +} + +# OHִвԵĽӿ +openharmonycheck() { + res=0 + cd ${builddir}/${ARCH}-build + ./testrunner > ${logfile} 2>&1 + res=$? + if [ $res -ne 0 ];then + mkdir ${LYCIUM_FAULT_PATH}/${pkgname} + cp Testing/Temporary/LastTest.log ${LYCIUM_FAULT_PATH}/${pkgname}/ + fi + cd $OLDPWD + return $res +} diff --git a/thirdparty/uriparser/OAT.xml b/thirdparty/uriparser/OAT.xml new file mode 100644 index 00000000..eeb1f946 --- /dev/null +++ b/thirdparty/uriparser/OAT.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/uriparser/README.OpenSource b/thirdparty/uriparser/README.OpenSource new file mode 100644 index 00000000..2951885b --- /dev/null +++ b/thirdparty/uriparser/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "uriparser", + "License": "BSD 3-Clause License", + "License File": "COPYING", + "Version Number": "uriparser-uriparser-0.9.8", + "Owner": "huangminzhong2@huawei.com", + "Upstream URL": "https://github.com/uriparser/uriparser", + "Description": "uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C89." + } +] diff --git a/thirdparty/uriparser/README_zh.md b/thirdparty/uriparser/README_zh.md new file mode 100644 index 00000000..9f39c3f5 --- /dev/null +++ b/thirdparty/uriparser/README_zh.md @@ -0,0 +1,14 @@ +# uriparser 三方库说明 + +## 功能简介 + +uriparser 是一个开源的 URI(统一资源标识符)解析库,用于解析和处理 URI。 + +## 使用约束 + +- SDK版本:ohos_sdk_linux 5.0.3.100 +- 三方库版本:uriparser-uriparser-0.9.8 + +## 集成方式 + ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/uriparser/SHA512SUM b/thirdparty/uriparser/SHA512SUM new file mode 100644 index 00000000..c0915900 --- /dev/null +++ b/thirdparty/uriparser/SHA512SUM @@ -0,0 +1 @@ +1230d91159f2f05c96cc733e59dbf9ba181d0698fc6323a61f4b3249c2936e6e83e4c5c3d668c57738cbf46e44efd14a55cf165d757457e8a7975127b16f4723 uriparser-uriparser-0.9.8.zip diff --git a/thirdparty/uriparser/docs/hap_integrate.md b/thirdparty/uriparser/docs/hap_integrate.md new file mode 100644 index 00000000..a2d9283c --- /dev/null +++ b/thirdparty/uriparser/docs/hap_integrate.md @@ -0,0 +1,85 @@ +# uriparser集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- [开发环境准备](../../../docs/hap_integrate_environment.md) + +## 编译三方库 + +* 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +* 三方库目录结构 + + ```shell + tpc_c_cplusplus/thirdparty/uriparser #三方库uriparser的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── HPKCHECK #测试脚本 + ├── OAT.xml #扫描结果文件 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md #三方库简介 + ``` + +* 在lycium目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../lycium/README.md#1编译环境准备) + + ```shell + cd lycium + ./build.sh uriparser + ``` + +* 三方库头文件及生成的库 + + 在lycium目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ```shell + uriparser/arm64-v8a uriparser/armeabi-v7a + ``` + +* [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的头文件拷贝到该目录下; +- 在IDE的entry目录下新增libs目录,将编译生成的.so文件拷贝到该目录下。如下图所示: + + ![thirdparty_install_dir](pic/uriparser-dev.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + + ```cmake + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/liburiparser.so) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/liburiparser.so.1) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/liburiparser.so.1.0.31) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/uriparser/${OHOS_ARCH}/include/uriparser) + ``` + + +## 测试三方库 + +- 编译出可执行的文件进行测试,[准备三方库测试环境](../../../lycium/README.md#3ci环境准备) + +- 进入到构建目录运行测试用例(注意arm64-v8a为构建64位的目录,armeabi-v7a为构建32位的目录),执行结果如图所示 +``` + cd /data/tpc_c_cplusplus/ thirdparty/uriparser/uriparser-uriparser-0.9.8/armeabi-v7a-build + ./testrunner +``` + + ![liburiparser_test](pic/test-cmd-ret.png) + +## 参考资料 + +* [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +* [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +* [liburiparser三方库地址](https://github.com/uriparser/uriparser) + diff --git a/thirdparty/uriparser/docs/pic/test-cmd-ret.png b/thirdparty/uriparser/docs/pic/test-cmd-ret.png new file mode 100644 index 0000000000000000000000000000000000000000..bb01f545e29c8d0e1b999b05b3de98d07f4adf3e GIT binary patch literal 120259 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 literal 0 HcmV?d00001 diff --git a/thirdparty/uriparser/docs/pic/uriparser-dev.png b/thirdparty/uriparser/docs/pic/uriparser-dev.png new file mode 100644 index 0000000000000000000000000000000000000000..0833736312e0d112bdbc883d5def62f956878f30 GIT binary patch literal 17741 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