未定义的引用'__android_log_print'该怎么用?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我的make文件有什么问题?

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建造:

foo.c:9: undefined reference to `__android_log_print'
提问于
用户回答回答于

在你的Android.mk文件中尝试以下内容:

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
用户回答回答于

你需要添加:

LOCAL_LDLIBS := -llog

到Android.mk

扫码关注云+社区