LOCAL_LDLIBS 与 LOCAL_SHARED_LIBRARIES的区别

本文解释了在Android.mk文件中使用LOCAL_SHARED_LIBRARIES与LOCAL_LDLIBS的区别,重点在于它们对依赖库生成的影响,以及如何在项目中正确使用它们。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RaviY
thanks for your explanation

also i found that LOCAL_LDLIBS in mydroid can only work for
HOST_SHARED_LIBS
but not for TARGET SHARED LIBS

thanks

On Nov 30, 11:52 am, RaviY <yend...@xxxxxx> wrote:
> Libraries that are linked via LOCAL_LDLIBS will not have any
> dependencies generated for them. So, typically, LOCAL_LDLIBS should be
> used when you don't want to or don't have the resources to build the
> specific library. So, if you are using a library provided by the NDK,
> you *technically* don't need to rebuild the provided libraries.
>
> So, in your case, in your "mydrdoid", if you use:
> LOCAL_LDLIBS := -lskia" ...then, libskia.so *need not* be rebuilt.
> whereas, if you use:
> LOCAL_SHARED_LIBRARIES := libskia ... then libskia.so *will* be
> rebuilt if there are any changes in it's dependencies.
>
> -Ravi
>
> On Nov 30, 7:20 am, allstars <allstars....@xxxxxxxxx> wrote:
>
> > hello
> > i would like to ask the differences between
> > LOCAL_SHARED_LIBRARIES and LOCAL_LDLIBS
>
> > for example , i try to link skia
>
> > in mydroid
>
> >  i need to use LOCAL_SHARED_LIBRARIES = libskia
>
> > but in NDK
> > i need to use LOCAL_LDLIBS = -lskia
>
> > so i am wondering what's the differences
> > and why do i need to two different ways for my Android.mk
>
> > thanks
>
ifeq ($(OEM_LAYER_PATH),) LOCAL_PATH := $(abspath $(call my-dir)/../..) OEM_LAYER_PATH := $(abspath $(LOCAL_PATH)/../../../..) else LOCAL_PATH := $(OEM_LAYER_PATH)/oem/sun/multicamera/chimcxlinearmapper endif include $(CLEAR_VARS) # Module supports function call tracing via ENABLE_FUNCTION_CALL_TRACE # Required before including common.mk SUPPORT_FUNCTION_CALL_TRACE := 1 # Get definitions common to the CHI-CDK project here include $(CAMX_CHICDK_PATH)/core/build/android/common.mk MVG_SAT_NODE_PATH_ABS := $(OEM_LAYER_PATH)/oem/sun/node/oplusmvgsat/wrapper/mvgsatengine QCOM_LINEAARMAP_PATH_ABS := $(CAMX_CHICDK_PATH)/oem/qcom/multicamera/chimcxlinearmapper MVG_SAT_NODE_PATH_REL := ../../node/oplusmvgsat/wrapper/mvgsatengine LOCAL_SRC_FILES := \ mvgmcxlinearmapper.cpp \ chxzoomtranslator_proxy_mvg.cpp LOCAL_SRC_FILES += \ $(MVG_SAT_NODE_PATH_REL)/mvgsat/sdk/MvgSatEngine.cpp \ $(MVG_SAT_NODE_PATH_REL)/mvgsat/sdk/sat_cfg_load.cpp \ $(MVG_SAT_NODE_PATH_REL)/mvgcalib/sdk/src/lib_calibr.cpp LOCAL_INC_FILES += \ mvgmcxlinearmapper.h \ chimcxlinearmapperinterface.h \ chxzoomtranslator_proxy_mvg.h \ LOCAL_C_LIBS := $(CAMX_C_LIBS) LOCAL_C_INCLUDES := \ $(CAMX_C_INCLUDES) \ $(CAMX_CHICDK_PATH)/core/chifeature2 \ $(CAMX_CHICDK_PATH)/oem/qcom/feature2/chiframework \ $(CAMX_CHICDK_PATH)/oem/qcom/feature2/chiusecase \ $(CAMX_CHICDK_PATH)/oem/qcom/feature2/chiutils LOCAL_C_INCLUDES += \ $(QCOM_LINEAARMAP_PATH_ABS) LOCAL_C_INCLUDES += \ $(MVG_SAT_NODE_PATH_ABS) \ $(MVG_SAT_NODE_PATH_ABS)/mvgsat/include \ $(MVG_SAT_NODE_PATH_ABS)/mvgsat/sdk \ $(MVG_SAT_NODE_PATH_ABS)/mvgcalib/sdk/inc \ $(MVG_SAT_NODE_PATH_ABS)/mvgcalib/sdk/src \ $(MVG_SAT_NODE_PATH_ABS)/rapidjson/include # Compiler flags LOCAL_CFLAGS := $(CAMX_CFLAGS) LOCAL_CPPFLAGS := $(CAMX_CPPFLAGS) LOCAL_CPPFLAGS += \ -DUSING_ARCSODT_ZOOM_CTRL \ -DUSING_MVGSAT_ZOOM_CTRL # CamX Stripout Flags LOCAL_CFLAGS := $(filter-out $(CAMXSTRIPOUT),$(LOCAL_CFLAGS)) LOCAL_CFLAGS += -Wno-error LOCAL_SHARED_LIBRARIES += \ com.qti.chi.override \ libcamera_metadata \ libchilog \ libcutils \ libhardware \ libhidlbase \ libhidltransport \ liblog \ libsync \ libutils \ libextensionlayer \ libhwconfigurationutil \ # Binary name LOCAL_MODULE := com.oplus.mcx.linearmapper LOCAL_MULTILIB := first LOCAL_LDLIBS := -lz LOCAL_MODULE_PATH_64 := $(TARGET_OUT_ODM)/lib64 include $(CHICDK_BUILD_SHARED_LIBRARY) -include $(CAMX_CHECK_WHINER)
最新发布
07-23
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值