C++ Visual Studio代码:来自Android Studio NDK的native-lib.cpp出现错误

C++ Visual Studio代码:来自Android Studio NDK的native-lib.cpp出现错误,c++,android-studio,visual-studio-code,android-ndk,include,C++,Android Studio,Visual Studio Code,Android Ndk,Include,我正在尝试为我的一个类使用androidstudio构建一个android应用程序,我想使用visualstudio代码作为IDE。我相信我成功地找到了头文件jni.h所需的all-include路径,但是我仍然在项目生成的native-lib.cpp文件中的一行中出错。我只是缺少了另一个头文件还是什么。我对Android工作室是全新的,但是C++非常完善。这就是为什么我对它给出的这些错误如此困惑,因为我甚至不知道导致错误的代码行是什么。我知道定义、宏,甚至外部,但我根本不了解“外部”C“”的功

我正在尝试为我的一个类使用androidstudio构建一个android应用程序,我想使用visualstudio代码作为IDE。我相信我成功地找到了头文件jni.h所需的all-include路径,但是我仍然在项目生成的native-lib.cpp文件中的一行中出错。我只是缺少了另一个头文件还是什么。我对Android工作室是全新的,但是C++非常完善。这就是为什么我对它给出的这些错误如此困惑,因为我甚至不知道导致错误的代码行是什么。我知道定义、宏,甚至外部,但我根本不了解“外部”C“”的功能,以前从未见过这样的东西。我正在发布带有错误的native-lib.cpp文件,这是一个屏幕截图,显示了错误的确切位置、错误本身以及VSCode中的c_cpp_properties.json。我将非常感谢任何人在这方面的帮助,提前谢谢

本机lib.cpp


“我根本不明白“extern”C“做什么”在任何情况下,你指出
/usr/bin/gcc
是你的编译器似乎很奇怪。在为Android应用程序构建本机代码时,您需要使用Android NDK,现在NDK只附带了Clang,而不是GCC。
#include <jni.h>
#include <string>

extern "C" JNIEXPORT jstring JNICALL // Errors are here
Java_com_example_mobileappproject_MainActivity_stringFromJNI(
        JNIEnv* env,
        jobject /* this */) {
    std::string hello = "Hello from C++";
    return env->NewStringUTF(hello.c_str());
}
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/mnt/c/Program Files/Android/Android Studio/jre/include/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}