Включить GLES31 в Android NDK

Я следовал примеру Android-ndk/gles3jni, где они включают gles3. Но я все еще получаю неопределенную ссылку на функции 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)

В моей сборке:

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

Я включаю #include в мой файл.

1 ответ

Вы устанавливаете расположение CMakeLists.txt в файле build.gradle? Все, что у вас есть, такое же, как у меня в моем проекте, но в файле build.gradle я включаю местоположение CMakeLists.txt.

externalNativeBuild {
    cmake {
        path "CMakeLists.txt"
    }
}
Другие вопросы по тегам