alex2k8 alex2k8 - 27 days ago 17
Android Question

undefined reference to `__android_log_print'

What is wrong with my make file?

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := foo
LOCAL_SRC_FILES := foo.c
LOCAL_EXPORT_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)


foo.c

#include <string.h>
#include <jni.h>
#include <android/log.h>

#define LOG_TAG "foo"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

void test() {
LOGI("test");
}


ndk-build

foo.c:9: undefined reference to `__android_log_print'

Answer

Try the following in your Android.mk file:

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog