VSCode 和 WSL 中的 MPI

VSCode and MPI in WSL

我在 Windows 上的 Visual Studio 代码中的 C 程序中使用 MPI。我在 WSL 中编译并 运行 它很好,但是 VSCode 警告我它找不到 mpi.h:

我已经在 WSL 中安装了 libopenmpi-dev 并将 header 目录添加到 VSCode 的设置中 (.vscode/c_cpp_properties.json):

{
    "configurations": [
        {
            "name": "WSL",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/lib/gcc/x86_64-linux-gnu/7/include",
                "/usr/local/include",
                "/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed",
                "/usr/include/x86_64-linux-gnu",
                "/usr/include"
            ],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64",
            "browse": {
                "path": [
                    "${workspaceFolder}/**",
                    "/usr/lib/gcc/x86_64-linux-gnu/7/include",
                    "/usr/local/include",
                    "/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed",
                    "/usr/include/x86_64-linux-gnu",
                    "/usr/include"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        }
    ],
    "version": 4
}

stdio.h 这样的标准 header 都没有问题。我怎样才能让 VSCode 找到 mpi.h?

VS Code 的 remote WSL extension 让这个问题变得毫无意义。不再需要配置,我安装了这个扩展,连接到 WSL,一切正常。

我在所需目录中使用 code . 从 WSL 终端打开 VS Code,并安装了扩展“C/C++ Extension Pack”和“Remote WSL”。现在可以使用了!