代码之家  ›  专栏  ›  技术社区  ›  Arthur

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

  •  3
  • Arthur  · 技术社区  · 8 年前

    我正试图在Android应用程序的一些原生C++代码中调用OpenGL ES 2函数,该应用程序是通过Android Studio与Gradle构建的。

    然而,在调用任何一个OpenGL函数时,我都会遇到链接器错误,我还没有找到原因。

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

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

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

    如果有人能够正确获得此建筑/链接,请让我知道我缺少什么!

    谢谢

    1 回复  |  直到 8 年前
        1
  •  6
  •   andras    8 年前

    转到您的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)