未定义的参考`__android_log_print“未定义、__android_log_print

2023-09-05 05:47:17 作者:黄昏ヮ月落時

什么是错我的make文件?

Android.mk

  LOCAL_PATH:= $(叫我-DIR)

包括$(CLEAR_VARS)
LOCAL_MODULE:= FOO
LOCAL_SRC_FILES:= foo.c的
LOCAL_EXPORT_LDLIBS:= -llog
包括$(BUILD_SHARED_LIBRARY)
 

foo.c的

 的#include< string.h中>
#包括< jni.h>
#包括<安卓/ log.h>

#定义LOG_TAG富
#定义LOGI(...)__android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)

无效测试(){
    LOGI(测试);
}
 

NDK建造

  foo.c的:9:未定义参考`__android_log_print
 
怎么程序总出现未定义标识符的错误

解决方案

尝试在你的 Android.mk 文件如下:

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

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'

解决方案

Try the following in your Android.mk file:

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