我想在NDK中使用surface  编译有问题 忘哪位大哥指点迷津报错都出现在源码头中的 namespace android那块 错误为error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'是不是不认识namespace 这个-----------------------------------------mk文件配置是----------------------LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_ARM_MODE := arm
LOCAL_C_INCLUDES += \
    /cygdrive/d/NDK/Header/hardware \
    /cygdrive/d/NDK/Header/system \
    /cygdrive/d/NDK/Header/skia \
    /cygdrive/d/NDK/Header/base \LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.cLOCAL_LDFLAGS += -L$(LOCAL_PATH)/aosp-d
LOCAL_LDLIBS += -llog -lutils -lsurfaceflinger_client -lmedia
include $(BUILD_SHARED_LIBRARY)
-----------------------------build配置为----------------------------------------------------
Location为           D:\cygwin\bin\bash.exe
work dictionary为    D:\cygwin\bin\
argument为           --login -c "cd /cygdrive/D/eclipsework/HelloNDK/ && /cygdrive/D/NDK/android-ndk-r4-               windows/android-ndk-r4/ndk-build"忘大哥大姐指点~~~~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   

    -------------------------------所有错误console-------------------------------------------
    In file included from /cygdrive/d/NDK/Header/base/utils/TextOutput.h:20,
                     from /cygdrive/d/NDK/Header/base/utils/RefBase.h:21,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:23,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/Errors.h:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/utils/RefBase.h:21,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:23,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/TextOutput.h:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:23,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/RefBase.h:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:26,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/ui/PixelFormat.h:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/utils/Vector.h:20,
                     from /cygdrive/d/NDK/Header/base/ui/Region.h:23,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:27,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:6: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'std'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'new'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'new'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'delete'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'delete'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:17: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'new'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'new'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'delete'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'delete'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'new'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'new'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'delete'
    /cygdrive/D/NDK/android-ndk-r4-windows/android-ndk-r4/build/platforms/android-8/arch-arm/usr/include/new:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'delete'
    In file included from /cygdrive/d/NDK/Header/base/utils/Vector.h:25,
                     from /cygdrive/d/NDK/Header/base/ui/Region.h:23,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:27,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/VectorImpl.h:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/utils/Vector.h:26,
                     from /cygdrive/d/NDK/Header/base/ui/Region.h:23,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:27,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/TypeHelpers.h:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/ui/Region.h:23,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:27,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/Vector.h:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
      

  2.   

    In file included from /cygdrive/d/NDK/Header/base/ui/Rect.h:21,
                     from /cygdrive/d/NDK/Header/base/ui/Region.h:25,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:27,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/ui/Point.h:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/ui/Region.h:25,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:27,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/ui/Rect.h:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:27,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/ui/Region.h:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/utils/String16.h:21,
                     from /cygdrive/d/NDK/Header/base/binder/IBinder.h:22,
                     from /cygdrive/d/NDK/Header/base/binder/Binder.h:20,
                     from /cygdrive/d/NDK/Header/base/binder/IInterface.h:21,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/ISurface.h:26,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:30,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/SharedBuffer.h:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/binder/IBinder.h:22,
                     from /cygdrive/d/NDK/Header/base/binder/Binder.h:20,
                     from /cygdrive/d/NDK/Header/base/binder/IInterface.h:21,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/ISurface.h:26,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:30,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/utils/String16.h:28: error: expected identifier or '(' before string constant
    /cygdrive/d/NDK/Header/base/utils/String16.h:59: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/binder/Binder.h:20,
                     from /cygdrive/d/NDK/Header/base/binder/IInterface.h:21,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/ISurface.h:26,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:30,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/binder/IBinder.h:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/binder/IInterface.h:21,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/ISurface.h:26,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:30,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/binder/Binder.h:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/surfaceflinger/ISurface.h:26,
                     from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:30,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/binder/IInterface.h:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:30,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/surfaceflinger/ISurface.h:33: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:31,
                     from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/surfaceflinger/ISurfaceFlingerClient.h:32: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    In file included from /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:20:
    /cygdrive/d/NDK/Header/base/surfaceflinger/Surface.h:33: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'android'
    /cygdrive/D/eclipsework/HelloNDK/jni/hello-jni/hello-jni.c:21: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
    make: *** [/cygdrive/D/eclipsework/HelloNDK/bin/ndk/local/armeabi/objs/hello-jni/hello-jni.o] Error 1
      

  3.   

    surface是C++中的类,你使用surface,当然需要时C++代码,不是C代码。将hello-jni.c改成hello-jni.cpp并要 using namespace android;
      

  4.   

    把using namespace android;写在什么地方?
      

  5.   

    请问回“LOCAL_LDLIBS += -llog -lutils -lsurfaceflinger_client -lmedia”可以编译通过吗,为什么我的总是提示/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/b
    in/ld.exe: cannot find -lutils