zoukankan      html  css  js  c++  java
  • Android Studio NDK 开发 问题记录

    编译:找不到gles3库

    使用旧的编译方式,写Android.mk 进行编译。报错如下

    gles3/gl3.h no such file or directory
    

    解决方案:

    出此问题的原因是找不到这个库,所以需要声明这个庫所在的位置
    需要在Application.mk里面声明

    APP_STL := gnustl_static
    APP_PLATFORM := android-21
    

    android sdk 版本可以变 21-24都可以

    Append:

    时隔半年,搞了个新项目又遇到了这个问题。还是一样的报错

    gles3/gl3.h file not found
    

    问题是新项目没有用 Android.mk 做 ndk-build,而是用的 CMakeLists 的方式,原来的解决方案用不上了,但是根源问题还是在于适配的版本太低了。只要在 gradle 文件中将 minSdkVersion 调高即可,我调整到了 19。问题解决。

    使用thread带来的报错

    代码里用到了<thread>库,编译时出现问题

    如下

    undefined reference to __atomic_fetch_add_4'
    

    解决:

    在gradle里面加上'atomic':

    ldLibs.addAll(['log', 'jnigraphics', 'GLESv3', 'EGL', 'atomic'])
    

    link报错

    Linker failed while linking   gl3jni.so
    input/output error
    

    这个问题困扰了很久,最后发现是开发环境的问题。

    我在ubuntu虚拟机下开发,工程位于windows和虚拟机的共享文件夹中,导致出现inout/output error

    在普通目录编译运行不报错。

    2017-05-10 编辑

  • 相关阅读:
    java。equal()和== 的区别
    java。封装
    java。OOA,OOD,OOR
    java。类和对象
    java、数组;堆区,栈区
    java。 break和continue区别
    NYOJ 228 士兵杀敌(五)【差分标记裸题】
    2017CCPC 杭州 J. Master of GCD【差分标记/线段树/GCD】
    CF1025B Weakened Common Divisor【数论/GCD/思维】
    网络流算法笔记
  • 原文地址:https://www.cnblogs.com/psklf/p/5624367.html
Copyright © 2011-2022 走看看