【问题标题】:Android NDK cannot find -lGLESvAndroid NDK 找不到 -lGLESv
【发布时间】:2014-05-30 21:26:19
【问题描述】:

我在尝试执行 NDK 构建时遇到以下错误,谁能帮助我吗?

我按照“开始 Android C++ 游戏开发”中的内容进行了设置说明。除第 9 步外的每一步:

"点击Application Nodes窗口中的NativeActivity节点,再次点击Add。Name为android.app.lib_name,Value为LOCAL_MODULE名称,可以在项目jni的Android.mk文件中找到文件夹。”

错误:

10:44:23 ** 项目默认配置的增量构建 HelloDroid ** "C:\ndk\ndk-build.cmd" 所有Android NDK: 警告:jni/Android.mk:HelloDroid-Test:链接器中的非系统库 标志:-lGLESv Android NDK:这可能会导致 不正确的构建。尝试使用 LOCAL_STATIC_LIBRARIES Android NDK:
或 LOCAL_SHARED_LIBRARIES 来列出 Android NDK:当前模块 [armeabi] SharedLibrary: libHelloDroid-Test.so C:/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../ arm-linux-androideabi/bin/ld.exe: 错误:找不到 -lGLESv collect2:ld 返回 1 个退出状态 make.exe: * [obj/local/armeabi/libHelloDroid-Test.so] 错误 1

10:44:23 构建完成(耗时 226 毫秒)

【问题讨论】:

    标签: android c++ android-ndk android-sdk-tools


    【解决方案1】:

    我发现了问题。 我只需要编辑 Android.mk 现在看起来像这样:

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE    := hellodroid
    LOCAL_SRC_FILES := hellodroid.cpp
    LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2
    LOCAL_STATIC_LIBRARIES := android_native_app_glue 
    
    include $(BUILD_SHARED_LIBRARY)
    
    $(call import-module, android/native_app_glue) 
    

    【讨论】:

      【解决方案2】:

      如错误所述,没有库GLESv

      您使用的是哪个版本的 OpenGL ES,1 还是 2?

      链接器标志分别为-lGLESv1_CM-lGLESv2

      【讨论】:

      • 我希望使用 OpenGL es 2,但我没有指定任何内容!而且我没有在我的计算机上安装任何类似 Opengl ES 的东西。我应该安装这样的东西但是如何!?
      猜你喜欢
      • 2012-09-11
      • 2021-11-26
      • 1970-01-01
      • 2012-09-26
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      • 2019-05-30
      相关资源
      最近更新 更多