The device is Android 4.1 tablet, support ARMEABI-V7A and MIPS, in order to be able to use the Poco C + + lib, with CMake compiled the Poco MIPS architecture Lib, but in the Android studio quote runtime
Cannot locate symbol ' Sigemptyset '
Google down, will
Set (Android_native_api_level android-21) to set (Android_native_api_level android-16) is OK, if it is a application.mk file,
APP_PLATFORM := android-16
-------------------------------------------------------
Android NDK cannot find symbol "Sigemptyset"
0 Down Votefavorite |
I am building a C app for Android, I use ' Sigemptyset ' on my app, when I compile the code using ND K It is compiled successfully, but when running the app I get cannot locate symbol ' Sigemptyset ' . After searching I found then the problem is that I build the app using Ndk-r11 which build for android-5 but I am Runni Ng 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 what do I fix this? EDIT: This question are 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 the NDK, is used but version of target platform. Is the last android-19
platform version where sigemptyset()
(and many other functions) is declared as inline just at platform headers. As Result-system libc on that devices doesn ' t contain such functions. So is right-you should use proper target platform to allow your code to run on older devices. But you are doing it incorrectly. All that's need is add
APP_PLATFORM := android-19
to your Application.mk
.
Android cannot locate symbol ' sigemptyset ' problem solved