2
LOCAL_PATH := $(call my-dir)  
TOP_LOCAL_PATH := $(call my-dir)/../ 

#Add target arm version 
ifeq ($(TARGET_ARCH_ABI),armeabi) 
MY_PJSIP_FLAGS := $(BASE_PJSIP_FLAGS) -DPJ_HAS_FLOATING_POINT=0 
else 
MY_PJSIP_FLAGS := $(BASE_PJSIP_FLAGS) -DPJ_HAS_FLOATING_POINT=1 
endif 

# Pjsip 
include $(TOP_LOCAL_PATH)/pjlib/build/Android.mk 
include $(TOP_LOCAL_PATH)/pjlib-util/build/Android.mk 

include $(TOP_LOCAL_PATH)/pjnath/build/Android.mk 
include $(TOP_LOCAL_PATH)/pjmedia/build/Android.mk 
include $(TOP_LOCAL_PATH)/pjsip/build/Android.mk 

#pjsip JNI 
include $(TOP_LOCAL_PATH)/jni/build/Android.mk 

#JSON 
include $(TOP_LOCAL_PATH)/third_party/build/json/Android.mk 

#GSLB 
include $(TOP_LOCAL_PATH)/pgslb/build/Android.mk 

有一个 android Make 文件。编译 GSLB 需要这个文件。libpjnath.a,libpjnath.a由 编译$(TOP_LOCAL_PATH)/pjnath/build/Android.mk。但是make文件编译GSLB一次执行。libpjnath.a找不到。
如何指定包含执行顺序?

4

2 回答 2

0

尝试在 gslb 中添加 LOCAL_SHARED_LIBRARIES := pjnath。希望有帮助。

于 2012-09-05T08:27:44.967 回答
0

实际上,ndk-build运行make,依赖 make 决定构建其目标的顺序并不是一个好习惯。例如,它可能会启动并行构建以使用您的多核 CPU。正确的方法是解释使一个目标依赖于另一个目标。

LOCAL_STATIC_LIBRARIESLOCAL_SHARED_LIBRARIES正是为此目的而设计的。有关详细说明,请参阅NDK 文档

于 2012-09-06T12:06:54.793 回答