마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 ndk undefined reference to [closed]

0 추천

ndk 를 이용해야 해서 c소스와 h파일들을 정적라이브러리로 생성 까지는 했는데요 

그 라이브러리에 있는 함수를 이용하는 부분에서 자꾸 undefined reference to 문구와 함께 에러가 발생합니다

android.mk의 어느 부분을 수정하면 될까요?

 

 

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := Example
LOCAL_SRC_FILES := ../obj/local/armeabi-v7a/libasn1Example.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := jniExample
LOCAL_SRC_FILES := testjni.cpp

LOCAL_LDLIBS := -llog

LOCAL_STATIC_MODULE := libasn1Example
LOCAL_C_INCLUDES  := $(LOCAL_PATH)
LOCAL_EXPORT_C_INCLUDES :=$(LOCAL_PATH)
include $(BUILD_SHARED_LIBRARY)

 

질문을 종료한 이유: 파일을 빼먹고 빌드함
계절풍M (270 포인트) 님이 2017년 10월 19일 질문
계절풍M님이 2017년 10월 20일 closed

2개의 답변

0 추천
undefined reference to 는 링크시 symbol을 못 찾아서 발생합니다.

정확히 어떤 symbol을 못 찾는지는 모르겠으나.

 

올려주신 내용만으로 추측시에는

libasn1Example.a 의 모듈 이름을 Example 로 하고선 정작

LOCAL_STATIC_MODULE := libasn1Example 를 참조 하라고 선언해서,

libasn1Example.a에 있는  함수를 못 찾은듯 것으로 생각됩니다.

LOCAL_STATIC_MODULE := Example 로 바꿔서 해 보세요..
익명사용자 님이 2017년 10월 20일 답변
2017년 10월 20일 수정
0 추천
제가 파일을 빼먹고 빌드해서 안되는거였습니다 추가해서 다시 빌드하니 잘됩니다
계절풍M (270 포인트) 님이 2017년 10월 20일 답변
...