Search code examples
visual-studio-codecompilationmpiheader-fileswindows-subsystem-for-linux

VSCode and MPI in WSL


I use MPI in a C program in Visual Studio Code on Windows. I compile and run it in WSL just fine, but VSCode warns me that it can't find mpi.h:

enter image description here

I have installed libopenmpi-dev in WSL and added the header directories to VSCode's settings (.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
}

Standard headers like stdio.h are included without problems. How can I make VSCode find mpi.h?


Solution

  • VS Code's remote WSL extension makes this problem moot. No configuration is required anymore, I installed this extension, connected to WSL, and everything is working.