# third-party-riscv64 **Repository Path**: bianbu-oh/third-party-riscv64 ## Basic Information - **Project Name**: third-party-riscv64 - **Description**: No description available - **Primary Language**: Shell - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-25 - **Last Updated**: 2025-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # third-party-riscv64 ## 介绍 该仓库用来存放 Open Harmony OS 常用的第三方库,方便 NDK 开发。 ## 目录结构 ``` ├── bin ├── include ├── lib ├── sbin └── share ``` ## 使用说明 ### 下载 ```shell git clone https://gitee.com/bianbu-oh/third-party-riscv64 --depth 1 ``` 如果需要依赖其编译新的第三方库,请将 third-party-riscv64 安装到 /opt/oh 目录下。 ```shell sudo mkdir /opt/oh sudo mv third-party-riscv64 /opt/oh ``` 或者修改 lib/pkgconfig 下的 *.pc 文件里的 `prefix=` 字段,改成当前目录路径。 ### 引入预构建库 可以通过直接将预构建的库文件复制到项目文件中, 来使用预构建库。例如在项目中需要使用预构建库 glib,其开发态存放路径如下所示: ``` ├── entry │   └── src │   ├── main │   │   ├── cpp │   │   │   ├── CMakeLists.txt │   │   │   ├── napi_init.cpp │   │   │   ├── third-party-riscv64 ``` 在模块的CMakeLists.txt编译脚本中通过add_library添加所需的预构建库,并声明预构建库路径等信息后,可以在target_link_libraries中声明链接该预构建库,脚本示例如下所示: ```makefile include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/third-party-riscv64/include/glib-2.0 ${CMAKE_CURRENT_SOURCE_DIR}/third-party-riscv64/lib/glib-2.0/include) link_directories( ${CMAKE_CURRENT_SOURCE_DIR}/third-party-riscv64/lib) add_library(pcre SHARED IMPORTED) set_target_properties(pcre PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/third-party-riscv64/lib/libpcre.so) list(APPEND THIRD_PARTY_LIBS pcre) add_library(intl SHARED IMPORTED) set_target_properties(intl PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/third-party-riscv64/lib/libintl.so) list(APPEND THIRD_PARTY_LIBS intl) add_library(iconv SHARED IMPORTED) set_target_properties(iconv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/third-party-riscv64/lib/libiconv.so.2) list(APPEND THIRD_PARTY_LIBS iconv) add_library(glib-2.0 SHARED IMPORTED) set_target_properties(glib-2.0 PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/third-party-riscv64/lib/libglib-2.0.so.0) list(APPEND THIRD_PARTY_LIBS glib-2.0) target_link_libraries(library PUBLIC libace_napi.z.so ${THIRD_PARTY_LIBS}) ``` 当在HAP中使用预构建库时,当前编译的库和链接所需的预构建库会打包到HAP中的 libs 目录下。 ### QA 1. 在Windows上使用库时务必直接链接库文件,而不是软链接,否则会导致unexpected EOF error ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request