【问题标题】:Can't include NDK header files不能包含 NDK 头文件
【发布时间】:2013-10-11 18:54:34
【问题描述】:

我使用 NDK 编写了一个简单的 C++ 程序,它运行良好。 现在我想添加以下头文件以使用日志记录功能:

android\log.h

我的 Android.mk 如下所示:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_LDLIBS:= -llog

LOCAL_MODULE    := ndkmodulea
LOCAL_SRC_FILES := ndkmodulea.cpp

include $(BUILD_SHARED_LIBRARY)

我的 .cpp 文件是这样开始的:

#include <jni.h>            
#include <string.h>
#include <android\log.h>

如果我尝试在 android 项目文件夹中运行 ndk-build(通过终端), 我将收到以下错误消息:

Compile++ thumb  : ndkmodulea <= ndkmodulea.cpp
jni/ndkmodulea.cpp:4:25: fatal error: android\log.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs/ndkmodulea/ndkmodulea.o] Error 1

有人可以帮助或教我如何正确包含此类头文件吗? 非常感谢!

【问题讨论】:

    标签: android android-ndk include ndk-build


    【解决方案1】:

    #include 路径中使用正斜杠:

    #include <android/log.h>
    

    【讨论】:

    • 就是这样!非常感谢!!! :) 我几乎疯狂地编辑 Android.mk 文件! - Windows 用户必须使用反斜杠 #include - Linux 用户必须使用斜杠 #include
    • 正斜杠应该适用于所有平台 - 如果可以的话,使用它们会更安全。
    • 只是为了确认它们可以在我接触过的每个平台上运行——几乎所有 ppc、arm、x86/x64 和 mips 都在手机、电脑或游戏机中——并且使用大多数编译器你会关心 gcc、snc、dmc、ghc、cl (msvc)、clang、intel 和 code Warriors...
    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多