gpt4 book ai didi

java - 对 __android_log_print 错误的 undefined reference

转载 作者:行者123 更新时间:2023-12-01 12:47:37 25 4
gpt4 key购买 nike

有一些像这样的问题,但提供的解决方案都没有解决问题。构建包含两个模块的应用程序时,Build 会输出标题中的错误。其中一个模块具有 native 代码文件。

我检查了很多线程,所有线程都建议包含 -llog。类似帖子here .

我的 Android.mk:

   LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := com_couchbase_touchdb_TDCollateJSON
LOCAL_SRC_FILES := com_couchbase_touchdb_TDCollateJSON.cpp
LOCAL_LDLIBS := -landroid -llog -ldl -L$(LOCAL_PATH)

include $(BUILD_SHARED_LIBRARY)

我还有标题 <android/log.h>包含到 .cpp 文件中,但我仍然遇到相同的错误。

最佳答案

很可能不是 __android_log_print 而是其他与您的字体类似的内容,例如 __andriod_log_prlnt (2 个拼写错误)。在 C++ 项目中,存在名称修改,并且可能其中一个文件(甚至可能是 .h 文件)缺少 header (也就是说,#includes 的顺序可能很重要)。 IIRC -L/-l 切换的顺序也很重要,但这里的情况可能并非如此。

我将从 NDK 中的 hello-jni 示例开始,并向其中添加日志记录;然后,我会逐渐添加应用程序代码。如果之后一切正常,下一步就是将 jni/ 文件夹移动到您的应用程序项目中,否则您就会知道在它崩溃之前您做了什么步骤。

以防万一:

#include <android/log.h>
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "~~~~~~", __VA_ARGS__)
#define DLOG(...) __android_log_print(ANDROID_LOG_DEBUG , "~~~~~~", __VA_ARGS__)

关于java - 对 __android_log_print 错误的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24533430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com