简体   繁体   English

使用Android NDK构建共享库-未定义引用

[英]Building shared library with Android NDK - undefined references

I'm trying to build a shared library I can use to access native bluetooth API functions. 我正在尝试构建一个共享库,可用于访问本地蓝牙API函数。 I'm currently trying to compile ac file from: https://android.googlesource.com/platform/external/bluetooth/bluedroid/ 我目前正在尝试从以下网址编译ac文件: https : //android.googlesource.com/platform/external/bluetooth/bluedroid/

Whenever I attempt to compile any of this code as a shared library I get numerous undefined reference errors.. it looks like to every function referenced by the header files. 每当我尝试将这些代码中的任何一个编译为共享库时,都会收到大量未定义的引用错误。.头文件引用的每个函数都看起来像。 In my latest attempt, I copied the entire bluedroid/bta file to my eclipse project/jni folder. 在最近的尝试中,我将整个bluedroid / bta文件复制到了eclipse project / jni文件夹。 Using the included Android.mk with minimal modification, I can compile to a static library. 使用包含的Android.mk并进行少量修改,就可以编译为静态库。 However, if i change the line: 但是,如果我更改行:
include $(BUILD_STATIC_LIBRARY) 包括$(BUILD_STATIC_LIBRARY)
to
include $(BUILD_SHARED_LIBRARY) 包括$(BUILD_SHARED_LIBRARY)

I get numerous errors. 我收到许多错误。 How would I go about building a shared library? 我将如何建立共享库?

Here is my Android.mk: 这是我的Android.mk:

LOCAL_PATH:= $(call my-dir)
BLUEDROID_DIR := /cygdrive/bluedroid/
include $(CLEAR_VARS)
LOCAL_CFLAGS += \
    -DBOARD_HAVE_BLUETOOTH_BCM
LOCAL_CFLAGS += -DBUILDCFG $(bdroid_CFLAGS)

LOCAL_PRELINK_MODULE:=false 
LOCAL_SRC_FILES:= \
    ./dm/bta_dm_ci.c \
    ./dm/bta_dm_act.c \
    ./dm/bta_dm_pm.c \
    ./dm/bta_dm_main.c \
    ./dm/bta_dm_cfg.c \
    ./dm/bta_dm_api.c \
    ./dm/bta_dm_sco.c \
    ./gatt/bta_gattc_api.c \
    ./gatt/bta_gatts_act.c \
    ./gatt/bta_gatts_main.c \
    ./gatt/bta_gattc_utils.c \
    ./gatt/bta_gattc_ci.c \
    ./gatt/bta_gatts_api.c \
    ./gatt/bta_gattc_main.c \
    ./gatt/bta_gattc_act.c \
    ./gatt/bta_gattc_cache.c \
    ./gatt/bta_gatts_utils.c \
    ./ag/bta_ag_sdp.c \
    ./ag/bta_ag_sco.c \
    ./ag/bta_ag_cfg.c \
    ./ag/bta_ag_main.c \
    ./ag/bta_ag_api.c \
    ./ag/bta_ag_rfc.c \
    ./ag/bta_ag_act.c \
    ./ag/bta_ag_cmd.c \
    ./ag/bta_ag_ci.c \
    ./ag/bta_ag_at.c \
    ./hh/bta_hh_cfg.c \
    ./hh/bta_hh_act.c \
    ./hh/bta_hh_api.c \
    ./hh/bta_hh_le.c \
    ./hh/bta_hh_utils.c \
    ./hh/bta_hh_main.c \
    ./pb/bta_pbs_cfg.c \
    ./fs/bta_fs_ci.c \
    ./fs/bta_fs_cfg.c \
    ./pan/bta_pan_main.c \
    ./pan/bta_pan_ci.c \
    ./pan/bta_pan_act.c \
    ./pan/bta_pan_api.c \
    ./av/bta_av_act.c \
    ./av/bta_av_ci.c \
   ./av/bta_av_api.c \
    ./av/bta_av_aact.c \
    ./av/bta_av_main.c \
    ./av/bta_av_cfg.c \
    ./av/bta_av_ssm.c \
    ./av/bta_av_sbc.c \
    ./ar/bta_ar.c \
./hl/bta_hl_act.c \
./hl/bta_hl_api.c \
./hl/bta_hl_main.c \
./hl/bta_hl_utils.c \
./hl/bta_hl_sdp.c \
./hl/bta_hl_ci.c \
./sys/bta_sys_main.c \
./sys/bta_sys_ci.c \
./sys/bta_sys_conn.c \
./sys/bta_sys_cfg.c \
./sys/ptim.c \
./sys/bd.c \
./sys/utl.c \
./jv/bta_jv_act.c \
./jv/bta_jv_cfg.c \
./jv/bta_jv_main.c \
./jv/bta_jv_api.c

LOCAL_MODULE := libbt-brcm_bta
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE_TAGS := optional
LOCAL_SHARED_LIBRARIES := libcutils libc

LOCAL_C_INCLUDES+= . \
               $(LOCAL_PATH)/include \
               $(LOCAL_PATH)/sys \
               $(LOCAL_PATH)/dm \
               $(LOCAL_PATH)/hh \
              $(BLUEDROID_DIR)/gki/common \
              $(BLUEDROID_DIR)/gki/ulinux \
              $(BLUEDROID_DIR)/include \
              $(BLUEDROID_DIR)/stack/include \
              $(BLUEDROID_DIR)/stack/btm \
              $(BLUEDROID_DIR)/hcis \
              $(BLUEDROID_DIR)/hcis/patchram \
              $(BLUEDROID_DIR)/udrv/include \
              $(BLUEDROID_DIR)/brcm/include \
               $(bdroid_C_INCLUDES) \

include $(BUILD_SHARED_LIBRARY)

and here is some of the output (can't fit it all): 这是一些输出(不能全部容纳):

[armeabi] SharedLibrary  : libbt-brcm_bta.so
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_ci.o: in function bta_dm_ci_io_req:jni/./dm/bta_dm_ci.c:52: error: undefined reference to 'GKI_getbuf'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_ci.o: in function bta_dm_ci_rmt_oob:jni/./dm/bta_dm_ci.c:78: error: undefined reference to 'GKI_getbuf'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_observe_cmpl_cb:jni/./dm/bta_dm_act.c:4619: error: undefined reference to 'LogMsg_0'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_encrypt_cback:jni/./dm/bta_dm_act.c:4489: error: undefined reference to 'LogMsg_2'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_new_link_key_cback:jni/./dm/bta_dm_act.c:2916: error: undefined reference to 'LogMsg_0'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_remove_sec_dev_entry:jni/./dm/bta_dm_act.c:3750: error: undefined reference to 'BTM_IsAclConnectionUp'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_remove_sec_dev_entry:jni/./dm/bta_dm_act.c:3752: error: undefined reference to 'LogMsg_1'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_remove_sec_dev_entry:jni/./dm/bta_dm_act.c:3765: error: undefined reference to 'LogMsg_1'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_remove_sec_dev_entry:jni/./dm/bta_dm_act.c:3770: error: undefined reference to 'BTM_SecDeleteDevice'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_pin_cback:jni/./dm/bta_dm_act.c:2832: error: undefined reference to 'BTM_ReadRemoteDeviceName'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_pin_cback:jni/./dm/bta_dm_act.c:2835: error: undefined reference to 'LogMsg_0'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:2977: error: undefined reference to 'LogMsg_1'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:2987: error: undefined reference to 'bta_dm_co_io_req'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:2994: error: undefined reference to 'LogMsg_2'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:2998: error: undefined reference to 'bta_dm_co_io_rsp'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:3024: error: undefined reference to 'BTM_ReadRemoteDeviceName'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:3027: error: undefined reference to 'LogMsg_0'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:3040: error: undefined reference to 'bta_dm_co_loc_oob'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:3051: error: undefined reference to 'BTM_ReadRemoteDeviceName'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:3063: error: undefined reference to 'bta_dm_co_rmt_oob'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:3076: error: undefined reference to 'bta_dm_co_lk_upgrade'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sp_cback:jni/./dm/bta_dm_act.c:3083: error: undefined reference to 'LogMsg_1'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_sdp_callback:jni/./dm/bta_dm_act.c:2503: error: undefined reference to 'GKI_getbuf'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_bl_change_cback:jni/./dm/bta_dm_act.c:3189: error: undefined reference to 'GKI_getbuf'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_observe_results_cb:jni/./dm/bta_dm_act.c:4587: error: undefined reference to 'BTM_InqDbRead'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_inq_results_cb:jni/./dm/bta_dm_act.c:2544: error: undefined reference to 'BTM_InqDbRead'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_set_eir:jni/./dm/bta_dm_act.c:4044: error: undefined reference to 'BTM_ReadLocalDeviceName'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_set_eir:jni/./dm/bta_dm_act.c:4052: error: undefined reference to 'GKI_getpoolbuf'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_set_eir:jni/./dm/bta_dm_act.c:4078: error: undefined reference to 'BTM_GetEirSupportedServices'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_set_eir:jni/./dm/bta_dm_act.c:4140: error: undefined reference to 'BTM_GetEirSupportedServices'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_set_eir:jni/./dm/bta_dm_act.c:4289: error: undefined reference to 'BTM_WriteEIR'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_policy_cback:jni/./dm/bta_dm_act.c:983: error: undefined reference to 'LogMsg_2'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_policy_cback:jni/./dm/bta_dm_act.c:992: error: undefined reference to 'BTM_SetLinkPolicy'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_policy_cback:jni/./dm/bta_dm_act.c:1000: error: undefined reference to 'BTM_SetLinkPolicy'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_policy_cback:jni/./dm/bta_dm_act.c:1024: error: undefined reference to 'BTM_SetDefaultLinkPolicy'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_check_av:jni/./dm/bta_dm_act.c:3313: error: undefined reference to 'LogMsg_4'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_check_av:jni/./dm/bta_dm_act.c:3319: error: undefined reference to 'BTM_SwitchRole'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_remname_cback:jni/./dm/bta_dm_act.c:2660: error: undefined reference to 'LogMsg_2'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./dm/bta_dm_act.o: in function bta_dm_remname_cback:jni/./dm/bta_dm_act.c:2668: error: undefined reference to 'BTM_SecDeleteRmtNameNotifyCallback'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x8
....
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_connect:jni/./jv/bta_jv_act.c:2114: error: undefined reference to 'PORT_SetEventMask'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_connect:jni/./jv/bta_jv_act.c:2115: error: undefined reference to 'PORT_SetDataCOCallback'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_connect:jni/./jv/bta_jv_act.c:2117: error: undefined reference to 'PORT_GetState'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_connect:jni/./jv/bta_jv_act.c:2123: error: undefined reference to 'PORT_SetState'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_connect:jni/./jv/bta_jv_act.c:2139: error: undefined reference to 'RFCOMM_RemoveConnection'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2463: error: undefined reference to 'BTM_SetSecurityLevel'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2496: error: undefined reference to 'PORT_ClearKeepHandleFlag'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2497: error: undefined reference to 'PORT_SetEventCallback'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2498: error: undefined reference to 'PORT_SetEventMask'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2499: error: undefined reference to 'PORT_GetState'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2505: error: undefined reference to 'PORT_SetState'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2510: error: undefined reference to 'PORT_SetDataCOCallback'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_start_server:jni/./jv/bta_jv_act.c:2517: error: undefined reference to 'RFCOMM_RemoveConnection'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_read:jni/./jv/bta_jv_act.c:2572: error: undefined reference to 'PORT_ReadData'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_rfcomm_write:jni/./jv/bta_jv_act.c:2604: error: undefined reference to 'PORT_WriteDataCO'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_set_pm_profile:jni/./jv/bta_jv_act.c:534: error: undefined reference to 'PORT_CheckConnection'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_act.o: in function bta_jv_set_pm_profile:jni/./jv/bta_jv_act.c:549: error: undefined reference to 'GAP_ConnGetRemoteAddr'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvGetDiscoverability:jni/./jv/bta_jv_api.c:176: error: undefined reference to 'BTM_ReadDiscoverability'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvGetPreknownDevice:jni/./jv/bta_jv_api.c:284: error: undefined reference to 'BTM_InqFirstResult'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvGetPreknownDevice:jni/./jv/bta_jv_api.c:306: error: undefined reference to 'BTM_InqNextResult'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvGetDeviceClass:jni/./jv/bta_jv_api.c:351: error: undefined reference to 'BTM_ReadDeviceClass'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvIsAuthenticated:jni/./jv/bta_jv_api.c:426: error: undefined reference to 'BTM_GetSecurityFlags'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvGetSecurityMode:jni/./jv/bta_jv_api.c:519: error: undefined reference to 'BTM_GetSecurityMode'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvReadRecord:jni/./jv/bta_jv_api.c:991: error: undefined reference to 'SDP_ReadRecord'
C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/bt-brcm_bta/./jv/bta_jv_api.o: in function BTA_JvRfcommReady:jni/./jv/bta_jv_api.c:1551: error: undefined reference to 'PORT_GetRxQueueCnt'
collect2: ld returned 1 exit status
/cygdrive/c/android-ndk-r9c/build/core/build-binary.mk:579: recipe for target 'obj/local/armeabi/libbt-brcm_bta.so' failed
make: *** [obj/local/armeabi/libbt-brcm_bta.so] Error 1

NDK does not use cygwin and cannot recognize cygdrive paths; NDK不使用cygwin,并且无法识别cygdrive路径; change it to c:/adev/bluedroid or similar. 将其更改为c:/adev/bluedroid或类似名称。

Android.mk设置local_allow_undefined_symbols:=true

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM