首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dirent.h ()不会编译

dirent.h ()不会编译
EN

Stack Overflow用户
提问于 2016-06-01 01:59:57
回答 1查看 569关注 0票数 0

目前我无法编译dient.h函数,比如opendir()。我做了什么?我肯定我做得很好。

Android_Utils.cpp:

代码语言:javascript
复制
#include <dirent.h>

void Test1237( void )
{
    struct DIR *dir = opendir( "blah" );
}

我的Android.mk文件:

代码语言:javascript
复制
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := SDL2-prebuilt
LOCAL_SRC_FILES := /work/SDL2/lib-android/$(TARGET_ARCH_ABI)/libSDL2.so
include $(PREBUILT_SHARED_LIBRARY)

# --------------------------------------------------------------------------------------------------

JNI_LIBPATH := /work/TT/android-TT/jniLibs

include $(CLEAR_VARS)
LOCAL_MODULE := libfreetype2
LOCAL_SRC_FILES := /work/FreeType2/Android/$(TARGET_ARCH_ABI)/libfreetype2-static.a
include $(PREBUILT_STATIC_LIBRARY)


# --------------------------------------------------------------------------------------------------

include $(CLEAR_VARS)

LOCAL_MODULE := main

SDL_PATH := /work/SDL2-2.0.4
GLM_PATH := /work/glm
GLM_NDK_PATH1 := /Android/android-ndk-r9d/platforms/android-14/arch-arm/usr/include
GLM_NDK_PATH2 := /Android/android-ndk-r9d/sources/cxx-stl/gnu-libstdc++/4.4.3/include
GLM_NDK_PATH3 := /Android/android-ndk-r9d/cxx-stl/gnu-libstdc++/4.4.3/libs/armeabi-v7a/include

TT_PATH := /work/TT
TT_INCLUDES := $(TT_PATH) 

LOCAL_C_INCLUDES := $(TT_INCLUDES) $(SDL_PATH)/include $(GLM_NDK_PATH1) $(GLM_NDK_PATH2) $(GLM_NDK_PATH3) $(GLM_PATH) $(FT2_INCLUDES)

MY_CFLAGS     := -DANDROID_PDS -mfloat-abi=softfp -mfpu=neon

ifeq ($(TARGET_ARCH_ABI),$(filter $(TARGET_ARCH_ABI), armeabi-v7a x86))
    LOCAL_CFLAGS := -DHAVE_NEON=1 $(MY_CFLAGS) -Wno-write-strings -Wno-trigraphs
    LOCAL_CPPFLAGS := -Wno-conversion-null -fno-permissive
    LOCAL_ARM_MODE := arm
    LOCAL_ARM_NEON := true
endif

LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.c \
    $(TT_PATH)/Android_Utils.cpp \
    $(TT_PATH)/main.cpp

LOCAL_SHARED_LIBRARIES := SDL2-prebuilt
LOCAL_STATIC_LIBRARIES := libfreetype2 

LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog -lm

include $(BUILD_SHARED_LIBRARY)

输出:

代码语言:javascript
复制
SparkbookPro:jni admin$ ndk-build
[armeabi-v7a] Install        : libSDL2.so => libs/armeabi-v7a/libSDL2.so
[armeabi-v7a] Compile arm    : main <= SDL_android_main.c
[armeabi-v7a] Compile++ arm  : main <= Android_Utils.cpp
/work/TT/Android_Utils.cpp: In function 'void Test1237()':
/work/TT/Android_Utils.cpp:12:39: error: 'opendir' was not declared in this scope
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-01 02:25:08

啊哈!我在包含路径中有一个dirent.h的本地副本,因此没有包含标准路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37558275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档