使用C++; 我只想用C++从iOS和Android中移植我的所有应用程序,用java EGL。

使用C++; 我只想用C++从iOS和Android中移植我的所有应用程序,用java EGL。,android,c++,android-ndk,native-activity,Android,C++,Android Ndk,Native Activity,我刚刚遇到的一件事是“致命错误:android_native_app_glue.h:没有这样的文件或目录”,所以我在下面查看我的make文件“android.mk” LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_DEFAULT_CPP_EXTENSION := cpp LOCAL_MODULE := StarEngine LOCAL_SRC_FILES := \ main.cpp \ StarE

我刚刚遇到的一件事是“致命错误:android_native_app_glue.h:没有这样的文件或目录”,所以我在下面查看我的make文件“android.mk”

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_DEFAULT_CPP_EXTENSION := cpp   
LOCAL_MODULE    := StarEngine


LOCAL_SRC_FILES := \
    main.cpp \
    StarEngine.cpp \
    ../../../StarEngine/StarShader.cpp \
    ../../../StarEngine/StarTexture.cpp \
    ../../../StarEngine/StarFBO.cpp\
    ../../../StarEngine/StarTimer.cpp\
    ../../../StarEngine/StarMath/Matrix.cpp\
    ../../../StarEngine/StarMath/Random.cpp\
    ../../../StarEngine/StarMath/Transform.cpp\
    ../../../StarEngine/StarMath/Vector.cpp\
    ../../../StarEngine/StarMath/neonmath/neon_matrix_impl.cpp\
    ../../../StarEngine/StarMath/vfpmath/matrix_impl.cpp\
    ../../../StarEngine/StarMath/vfpmath/utility_impl.cpp\
    #../../../StarEngine/StarSound/StarSound.cpp

ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
   LOCAL_CFLAGS := -D_ARM_ARCH_7=1 
   LOCAL_CPPFLAGS := -D_ARM_ARCH_7=1 
else

endif


    LOCAL_CFLAGS := -DCONFIG_EMBEDDED -DUSE_IND_THREAD -marm -mfpu=neon -mfloat-abi=softfp 
APP_STL  := stlport_static

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog -ldl -lGLESv2 -landroid -lEGL -lGLESv1_CM


LOCAL_STATIC_LIBRARIES := android_native_app_glue cpufeatures
include $(BUILD_SHARED_LIBRARY)
$(call import-module,cpufeatures,android/native_app_glue)
答复:

当您使用两个以上的静态库时,应该像这样放置导入模块两次以上

include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
$(call import-module,cpufeatures)
根据NDK文件夹中的参考:

 import-module

    A function that allows you to find and include the Android.mk
    of another module by name. A typical example is:

      $(call import-module,<name>)

    And this will look for the module tagged <name> in the list of
    directories referenced by your NDK_MODULE_PATH environment
    variable, and include its Android.mk automatically for you.
导入模块
一个允许您查找并包含Android.mk的函数
按名称指定另一个模块的名称。一个典型的例子是:
$(调用导入模块,)
这将查找列表中标记的模块
NDK_模块_路径环境引用的目录
变量,并自动为您包含其Android.mk。