zoukankan      html  css  js  c++  java
  • android cannot locate symbol 'sigemptyset'问题解决

    设备是android 4.1的平板电脑,支持armeabi-v7a和mips,为了能用上poco c++ lib,用cmake编译了poco mips架构的lib,但在android studio里引用运行时就报

    cannot locate symbol 'sigemptyset'

    google了下,将

    set(ANDROID_NATIVE_API_LEVEL android-21)改为
    set(ANDROID_NATIVE_API_LEVEL android-16)
    就ok了,如果是Application.mk文件,
    APP_PLATFORM := android-16

    -------------------------------------------------------

    Android ndk cannot find symbol “sigemptyset”

    I am building a C app for android, I use 'sigemptyset' in my app, when I compile the code using NDK it is compiled successfully, but when running the app I get cannot locate symbol 'sigemptyset'.

    After searching I found that the problem is that I build the app using ndk-r11 which build for android-5 but I am running the app on android 4.4 where sigemptyset definition has changed. so I added the following to Android.mk:

    TARGET_PLATFORM := android-19

    but I still get the same error

    Does anyone know how to fix this?

    EDIT:

    This question is not a duplicate of another question nor the answer there suggests changing the APP_PLATFORM parameter in Application.mk

    The cause of problem is not the version of NDK that was used but version of target platform. android-19 is the last platform version where sigemptyset() (and many other functions) was declared as inline just at platform headers. As result - system libc on that devices doesn't contain such functions. So you are right - you should use proper target platform to allow your code to run on older devices. But you are doing it incorrectly. All that you need is add

    APP_PLATFORM := android-19

    to your Application.mk.

  • 相关阅读:
    20170417列表的count计数、index、reverse、sort函数
    (一)grpc-创建一个简单的grpc 客户端和服务器
    通用装饰器
    Git学习(一):Git介绍、仓库和分支等基本概念解释
    APP测试
    接口测试用例设计
    笔记整理
    接口测试
    gzip -压缩与解压缩
    declare 命令 -声明shell 变量
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/6936843.html
Copyright © 2011-2022 走看看