如何使用 CMAKE 切换到 c++_shared 或 c++_static?

Rif*_*fat 2 android android-gradle-plugin

在 android Studio 上尝试使用 CPP 代码构建项目,但gnustl_static is no longer supported.出现错误。从其他答案中,我在 build.gradle 上添加了以下内容:

 ndk {
        moduleName = "app"
        stl = "stlport_static"
    }
Run Code Online (Sandbox Code Playgroud)

但它不起作用并再次显示此错误消息。尝试添加此链接ANDROID_STL=c++_staticcmake{...}但出现以下错误:

CMake Error: The source directory "G:/Applications/.../app/ANDROID_STL=c++_static" does not exist.
Run Code Online (Sandbox Code Playgroud)

如何在最新的 android studio 上解决此错误消息?

Mic*_*ael 5

stl物业可能在过去可用。但是现在您可以使用arguments属性指定 STL ,例如:

android {
    defaultConfig {
        externalNativeBuild {
            cmake {
                arguments '-DANDROID_STL=c++_static'
            }
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这c++_static是使用 cmake 为 Android 构建时的默认设置。因此,如果这是您想要的 STL,则根本不需要指定它。