2016-07-24 62 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

相關問題