相关疑难解决方法(0)

"std :: cout"在Android-ndk中是否可用

在Android-ndk中,我们可以使用"__android_log_write","_ _ android_log_print"等来将消息输出到"LogCat"窗口.如果我使用"std :: cout"输出一些字符串怎么样?例如

std::cout << "some strings" << std::endl;
Run Code Online (Sandbox Code Playgroud)

字符串将在何处发送.

似乎Android没有控制台应用程序,并且可能无法发送上述字符串.我可以将"stdout"重定向到文件,以便将字符串发送到"std :: cout"等同于记录消息吗?

c++ console android-ndk

37
推荐指数
2
解决办法
2万
查看次数

无法使用Android Studio从JNI打印日志消息

我得到的错误:

错误:对'__android_log_print'的未定义引用

我已将此行添加到我的.cpp文件中:

#include <android/log.h>
Run Code Online (Sandbox Code Playgroud)

我尝试过两种方法:__ android_log_print__android_log_write

我还在我的Android.mk文件(我手动编译)中链接了日志库.

LOCAL_LDLIBS:= --llog

我也尝试了几种我认为的替代品:

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog 
Run Code Online (Sandbox Code Playgroud)

这是我的Android.mk:

LOCAL_PATH := $(call my-dir)

#used to skip re-compiling libraw
#include $(CLEAR_VARS)
#LOCAL_MODULE    := libraw_r
#LOCAL_SRC_FILES := ../obj/local/armeabi/libraw_r.so
#LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libraw
#include $(PREBUILT_SHARED_LIBRARY)

#used for compiling libraw
include $(CLEAR_VARS)
LOCAL_CFLAGS += -I$(SYSROOT)/usr/lib/include/libraw -pthread -w
LOCAL_CXXFLAGS += -I$(SYSROOT)/usr/lib/include/libraw -pthread -w
LOCAL_MODULE     := libraw_r                    # name of your module
LOCAL_LDLIBS     += -L$(SYSROOT)/usr/lib -lstdc++ # libraries to link against, lstdc++ is auto-linked

LOCAL_SRC_FILES  :=  internal/dcraw_common.cpp …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android-ndk android-studio android-gradle-plugin

8
推荐指数
1
解决办法
9332
查看次数