Я пытаюсь вызвать функции OpenGL ES 2 в некотором родном коде C ++ для приложения Android, созданного через Android Studio с Gradle.
Тем не менее, я получаю ошибки компоновщика при вызове любой отдельной функции OpenGL, и мне не повезло выяснить, почему.
Такое ощущение, что это должно быть что-то простое, например, настройка Gradle, но не совсем понятно, как это сделать (тем более что у меня почти нет опыта работы с Gradle).
Я создал невероятно простой контрольный пример для своей проблемы в следующем месте на Github: https://github.com/NeoSouldier/GLESTest.
Откройте проект с помощью Android Studio, и вы увидите код, который не удается связать в файле «native-lib.cpp».
Если кто-то сможет правильно построить это здание / ссылку, пожалуйста, дайте мне знать, что мне не хватает!
Спасибо!
Перейдите к вашему CMakeLists.txt и добавьте GLESv2 в целевые библиотеки ссылок. Это должно выглядеть так:
# Specifies libraries CMake should link to your target library. You
# can link multiple libraries, such as libraries you define in the
# build script, prebuilt third-party libraries, or system libraries.
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib}
GLESv2)
Других решений пока нет …