【问题标题】:Include GLES31 in Android NDK在 Android NDK 中包含 GLES31
【发布时间】:2018-05-11 09:39:00
【问题描述】:

我遵循了包含 gles3 的 android-ndk/gles3jni 示例。但我仍然得到对 gl* 函数的未定义引用。 我的cmmakelist:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -Wall")

add_library(gles3jni SHARED
            src/main/cpp/File.c
            )

# add lib dependencies
target_link_libraries(gles3jni
                      GLESv3
                      android
                      log
                      EGL
                      m)

在我的 gradle 构建中:

ndk {
    abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
}
externalNativeBuild {
    cmake {
        arguments "-DANDROID_PLATFORM_LEVEL=21",
                '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=gnustl_static'
    }
}

我在我的 File.c 中包含 #include。

【问题讨论】:

  • 请发布错误消息的确切措辞,至少一对夫妇。注意'armeabi'不与PLATFORM_LEVEL=21一起使用

标签: android c android-ndk opengl-es-3.1


【解决方案1】:

您是否在 build.gradle 文件中设置 CMakeLists.txt 位置?您拥有的一切都与我在项目中的相同,但在 build.gradle 文件中,我包含了 CMakeLists.txt 位置。

externalNativeBuild {
    cmake {
        path "CMakeLists.txt"
    }
}

【讨论】:

  • 是的,我在同一个文件中。
猜你喜欢
  • 2013-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多