如何使用 C++ 本机代码链接到 Android Studio 项目中的 GLES2

Art*_*hur 2 c++ opengl-es-2.0 android-studio android-gradle-plugin

我正在尝试在 Android 应用程序的一些本机 C++ 代码中调用 OpenGL ES 2 函数,该代码是通过带有 Gradle 的 Android Studio 构建的。

但是,在调用任何单个 OpenGL 函数时,我都会遇到链接器错误,并且没有找到原因。

感觉它应该像以某种方式配置 Gradle 一样简单,但它只是不清楚如何这样做(特别是因为我几乎没有使用 Gradle 的经验)。

我在以下 Github 位置为我的问题创建了一个非常简单的测试用例:https : //github.com/NeoSouldier/GLESTest

使用 Android Studio 打开项目,您将在“native-lib.cpp”文件中看到无法链接的代码。

如果有人能够正确获得此建筑物/链接,请告诉我我错过了什么!

谢谢!

and*_*ras 5

转到您的 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)
Run Code Online (Sandbox Code Playgroud)