在工程中使用依赖模块时，如果希望使用依赖模块中native相关的so库与接口文件（.h/.hpp），Hvigor提供了快速链接功能。

## 头文件

* 对于共享包：

  在共享包中include目录下如存在.h等接口文件，Hvigor会自动将此目录添加到CMake接口目录中，无需手动添加。
* 对于本地依赖模块：

  在本地依赖模块中如存在.h等接口文件，可通过在build-profile.json5文件buildOption/nativeLib/headerPath中指定接口文件目录。

  收起

  自动换行

  深色代码主题

  复制

  ```
  1. "buildOption": {
  2. "nativeLib": {
  3. "headerPath": "src/main/cpp/include"
  4. }
  5. }
  ```

## 预构建库

在工程中引用了共享包/本地依赖模块中的so库，编译时，Hvigor会生成cmake [Config-file Packages](https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#config-file-packages)，自动通过cmake [find\_package](https://cmake.org/cmake/help/latest/command/find_package.html#find-package)引入这些so。开发者只需根据此依赖模块的模块名、so库名，在CMakeLists.txt脚本中以${moduleName::soName}库名称的形式来声明链接。

例如工程依赖了curl共享包，共享包中存在libcurl.so，在oh-package.json5中添加依赖。

收起

自动换行

深色代码主题

复制

```
1. // oh-package.json5
2. "dependencies": {
3. "curl": "1.0.0"
4. }
```

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/80/v3/osezhk6uQR25U41LKzZpOQ/zh-cn_image_0000002532750015.png?HW-CC-KV=V1&HW-CC-Date=20260414T054901Z&HW-CC-Expire=86400&HW-CC-Sign=B7983E8D0FA5AABAF177601A3A0372B7CBA9FA7894A3712BC5C54D2502A0F8BC)

在工程的CMakeLists.txt脚本中声明链接：

收起

自动换行

深色代码主题

复制

```
1. // CMakeLists.txt
2. add_library(entry SHARED napi_init.cpp)
3. # ${moduleName::soName}.
4. target_link_libraries(entry PUBLIC curl::curl)
```

说明

对于本地模块，HAR仅暴露本模块构建的so库，HSP暴露本模块构建及所依赖的so库。