2016-07-24 59 views
0

我正在为android构建一个C应用程序,我在我的应用程序中使用'sigemptyset',当我使用NDK编译代码时,它已成功编译,但运行应用程序时我得到cannot locate symbol 'sigemptyset'Android ndk无法找到符号“sigemptyset”

搜索后发现问题是我使用为android-5构建的ndk-r11构建应用程序,但我正在运行Android 4.4中的应用程序,其中sigemptyset定义已更改。所以我增加了以下内容Android.mk:

TARGET_PLATFORM := android-19 

,但我仍然得到同样的错误

有谁知道如何解决这一问题?

编辑:

这个问题不是一个问题重复,也不存在暗示改变APP_PLATFORM参数Application.mk

+0

可能重复[sigemptyset()NDK UnsatisfiedLinkError dlopen()](http://stackoverflow.com/questions/25975291/sigemptyset-ndk-unsatisfiedlinkerror-dlopen) – kaitian521

回答

1

的问题的原因,答案不被使用的NDK的版本,但目标平台的版本。 android-19是最后一个平台版本,其中sigemptyset()(以及许多其他函数)仅在平台标头中声明为内联。因此 - 该设备上的系统libc不包含这些功能。所以你是对的 - 你应该使用适当的目标平台来允许你的代码在旧设备上运行。但是你做错了。所有你需要的是添加

APP_PLATFORM := android-19 

到您的Application.mk

+0

我已经找到它了,但无论如何谢谢你的回答是正确的 – ammcom

相关问题