Android ndk找不到符号“sigemptyset”

时间:2016-07-24 14:30:46

标签: android c android-ndk

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

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

TARGET_PLATFORM := android-19

但我仍然得到同样的错误

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

编辑:

这个问题不是另一个问题的重复,也没有答案建议更改Application.mk中的APP_PLATFORM参数

1 个答案:

答案 0 :(得分:1)

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

APP_PLATFORM := android-19

Application.mk