Forums - CANNOT LINK EXECUTABLE "test_android_fast": library "./obj/local/armeabi-v7a/libadsprpc.so" not found

1 post / 0 new
CANNOT LINK EXECUTABLE "test_android_fast": library "./obj/local/armeabi-v7a/libadsprpc.so" not found
gaolx2
Join Date: 15 Sep 17
Posts: 2
Posted: Tue, 2018-01-09 02:02

I'm trying to call the hexgon adsp libraries in my own android c++ program.

In Android.mk, I create two moduels for the hexgon libraries of my own and the libadsprpc.so

include $(CLEAR_VARS)
LOCAL_MODULE := vinsfront_share 
LOCAL_SRC_FILES := $(THRID_PARTY_DIR)/FastCV/libs/libvinsFront.so
LOCAL_EXPORT_C_INCLUDES := $(THRID_PARTY_DIR)/FastCV/include
include $(PREBUILT_SHARED_LIBRARY)
 
include $(CLEAR_VARS)
LOCAL_MODULE := adsprpc_share
LOCAL_SRC_FILES := $(THRID_PARTY_DIR)/FastCV/libs/libadsprpc.so
LOCAL_EXPORT_C_INCLUDES := $(THRID_PARTY_DIR)/FastCV/include
include $(PREBUILT_SHARED_LIBRARY)
 
Then I create an excutable to call the functions in adsp libraies:
 
#build a test executable
LOCAL_MODULE := test_android_fast
LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \
   #$(THRID_PARTY_DIR)/FastCV/include
 
 
LOCAL_SRC_FILES += $(LOCAL_PATH)/../fast_processor.cpp \
   $(LOCAL_PATH)/../test.cc
 
#LOCAL_STATIC_LIBRARIES += boost_system_static
#LOCAL_STATIC_LIBRARIES += boost_serialization_static
#LOCAL_STATIC_LIBRARIES += boost_filesystem_static
#LOCAL_STATIC_LIBRARIES += boost_program_options_static
LOCAL_STATIC_LIBRARIES += fastcv_static
 
LOCAL_SHARED_LIBRARIES := qsml adsprpc_share vinsfront_share  
 
All the compiling and linking progress is OK. But in runtime I got the error: CANNOT LINK EXECUTABLE "test_android_fast": library "./obj/local/armeabi-v7a/libadsprpc.so" not found
 
Supprisingly, when I use android-cmake to compile the programs, it works well. 
 

 

  • Up0
  • Down0

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.