我想编译特定api级别的代码。例如api level 7.我使用ndk-8。这有什么选择吗?
现在我在windows控制台中使用ndk-build.cmd命令进行编译。我不知道怎样才能知道支持哪种api级别。
答案 0 :(得分:3)
这似乎没有很好地记录(即使在NDK文档中),但是如果你有一个Application.mk(与你的根Android.mk相同的目录),如果你有一行APP_PLATFORM:= android-7 (或者你想要的任何平台版本),它将构建到那个。 Application.mk的NDK文档中没有记录这一点。根据文档,如果你在Android.mk中放置一个TARGET_PLATFORM行,它会使用它,但似乎有that doesn't work的信息。
答案 1 :(得分:0)
出色的回应,谢谢卡尔,你救了我的命。
我使用“APP_PLATFORM:= android-7”并且它有效。当我添加这一行时,编译给了我一个错误,即没有实现一个函数。然后,我把它的实现放在我的代码中,然后就可以了!
我认为较新的Android版本具有该功能但android-7却没有。
该函数是wcstombs(它在stdlib中)
及其实施
size_t wcstombs(register char *s, register const wchar_t *pwcs, size_t n){
register int i = n;
while (--i >= 0) {
if (!(*s++ = *pwcs++))
break;
}
return n - i - 1;
}
感谢