1

我想为特定的 api 级别编译我的代码。例如api级别7。我使用ndk-8。有什么选择吗?

现在我在 Windows 控制台中使用 ndk-build.cmd 命令进行编译。而且我不知道如何知道支持哪个 api 级别。

4

2 回答 2

3

这似乎没有很好的记录(即使在 NDK 文档中),但如果你有一个 Application.mk (与你的根 Android.mk 相同的目录),如果你有一行 APP_PLATFORM := android-7 (或其他您想要的平台版本),它将建立。Application.mk 的 NDK 文档中没有记录。根据文档,如果您在 Android.mk 中放置 TARGET_PLATFORM 行,它将使用它,但似乎有信息表明它不起作用

于 2012-07-19T13:12:32.153 回答
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;
}

谢谢

于 2012-07-19T14:33:09.250 回答