鸿蒙5.0开发进阶:编译构建-预构建库快速链接

往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)


预构建库快速链接

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

头文件

  • 对于共享包:

    在共享包中include目录下如存在.h等接口文件,Hvigor会自动将此目录添加到CMake接口目录中,无需手动添加。

  • 对于本地依赖模块:在本地依赖模块中如存在.h等接口文件,可通过在build-profile.json5文件buildOption/nativeLib/headerPath中指定接口文件目录。
    "buildOption": {
      "nativeLib": {
        "headerPath": "src/main/cpp/include"
      }
    }

预构建库

在工程中引用了共享包/本地依赖模块中的so库,编译时,Hvigor会生成cmake Config-file Packages,自动通过cmake find_package引入这些so。开发者只需根据此依赖模块的模块名、so库名,在CMakeLists.txt脚本中以${moduleName::soName}库名称的形式来声明链接。

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

// oh-package.json5
"dependencies": { 
  curl: "1.0.0" 
}

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

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

说明

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值