编译android中特定api级别的c++

compile c++ for specific api level in android

本文关键字:c++ api android 编译      更新时间:2023-10-16

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

现在我在windows控制台中使用ndk-build.cmd命令进行编译。我不知道我怎么知道支持哪个api级别。

这似乎没有很好的文档记录(即使在NDK文档中),但如果你有Application.mk(与你的根Android.mk相同的目录),如果你有一行APP_PLATFORM:=Android-7(或你想要的任何平台版本),它会构建到这个版本。Application.mk的NDK文档中没有记录这一点。根据文档,如果你在Android.mk中放一行TARGET_PLATFORM,它会使用它,但似乎有一些信息不起作用。

非常感谢卡尔,你救了我的命。

我使用"APP_PLATFORM:=android-7",它是有效的。当我添加这一行时,编译给了我一个错误,即函数没有实现。然后,我把它的实现放在我的代码中,然后它就工作了!

我认为新的安卓版本有这个功能,但安卓-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;
}

感谢