HarmonyOS鸿蒙Next中CMakeLists.txt里的add_library指令必须指定SHARED吗?

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS鸿蒙Next中CMakeLists.txt里的add_library指令必须指定SHARED吗? 我在CMakeLists.txt里看到add_library(entry SHARED hello.cpp),这里的SHARED是必须的吗?如果我想编译成静态库,应该改成什么?静态库和动态库在鸿蒙应用里的使用场景有什么区别?

3 回复
  • SHARED vs STATIC

    • SHARED:生成动态库(.so)。
    • STATIC:生成静态库(.a)。
  • 选择建议

    • 如果库需要被多个应用共享,使用SHARED
    • 如果库仅在当前应用中使用,且希望减少运行时依赖,使用STATIC

更多关于HarmonyOS鸿蒙Next中CMakeLists.txt里的add_library指令必须指定SHARED吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,add_library指令并不强制要求指定SHAREDadd_library用于定义库文件,可以指定库的类型为SHARED(动态库)、STATIC(静态库)或MODULE(模块库)。如果不指定类型,默认情况下会生成静态库(STATIC)。因此,是否指定SHARED取决于你需要生成的库类型。

在HarmonyOS鸿蒙Next中,add_library指令并不强制要求指定SHARED。你可以根据需要选择创建静态库(STATIC)或动态库(SHARED)。如果不指定类型,默认创建静态库。例如:

add_library(my_library STATIC my_source.cpp)  # 创建静态库
add_library(my_library SHARED my_source.cpp)  # 创建动态库
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!