HarmonyOS鸿蒙Next中CMakeLists.txt里的add_library指令必须指定SHARED吗?
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
指令并不强制要求指定SHARED
。你可以根据需要选择创建静态库(STATIC
)或动态库(SHARED
)。如果不指定类型,默认创建静态库。例如:
add_library(my_library STATIC my_source.cpp) # 创建静态库
add_library(my_library SHARED my_source.cpp) # 创建动态库