为什么Android NDK log.h __android_log_print链接器错误

时间:2015-09-13 08:09:41

标签: android c++ android-ndk

我尝试使用__android_log_print。但我得到链接错误。我使用了makefile Android.mk: -

    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_SRC_FILES := com_test_JniTest.cpp
    LOCAL_MODULE := com_test_JniTest
    LOCAL_LDLIBS += -llog
    include $(BUILD_SHARED_LIBRARY)

我收到的错误是: -

/Users/abc/AndroidStudioProjects/Test/app/src/main/jni/com_test_JniTest.cpp 错误:(29)未定义对`__android_log_print'

的引用

那么如何链接和使用__android_log_print?

1 个答案:

答案 0 :(得分:0)

可能是路径问题。

在系统中搜索liblog.so的路径并设置以下内容:

LOCAL_LDLIBS := -L<path to liblog.so> -llog

例如:

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

或者如果您使用的是Gradle,则必须将lib指定为build.gradle

android {
    defaultConfig {
        ndk {
            moduleName "whatever"
            ldLibs "log"
        }
    }
}