C++ VSCode C++;WSL下的launch.json配置

C++ VSCode C++;WSL下的launch.json配置,c++,visual-studio-code,windows-subsystem-for-linux,C++,Visual Studio Code,Windows Subsystem For Linux,我有一个项目文件夹c:\myproject\,因此: \.vscode\ \src\ \include\ 我打开VSCode,有时通过windows linux子系统(WSL)在windows机器上执行此项目(通过g++和make构建和启动),有时在windows本身下(通过ClCompile.exe和MSBuild.exe在这台机器上构建和启动),或者在另一台纯linux机器上 为了处理这些不同的场景,我有一个launch.json,看起来是这样的: "version":

我有一个项目文件夹
c:\myproject\
,因此:

\.vscode\
\src\
\include\
我打开VSCode,有时通过windows linux子系统(WSL)在windows机器上执行此项目(通过
g++
make
构建和启动),有时在windows本身下(通过
ClCompile.exe
MSBuild.exe在这台机器上构建和启动),或者在另一台纯linux机器上

为了处理这些不同的场景,我有一个
launch.json
,看起来是这样的:

"version": "0.2.0",
"configurations": [
    {
        "name": "(gdb)DbgLaunch",//For pure linux machine
        ...
        "program": ".vscode/dist/Debug/GNU-Linux/linux",
        ...
    },
    {
        "name": "(WSLgdb) Launch",//For WSL under windows machine
        ...
        "program": "/mnt/c/myproject/.vscode/dist/Debug/GNU-Linux/linux",
        ...
    },
    {
        "name": "(Windows)DbgLaunch",//For pure windows machine
        ...            
        "program": ".vscode/x64/Debug/windows.exe",
        ...
    }
]
当纯linux机器的
(gdb)DbgLaunch
和纯Windows机器的
(Windows)DbdLaunch
与可执行文件的相对地址配合使用时,在
(WSLgdb)Launch
下使用相对地址,例如:

“程序”:.vscode/dist/Debug/GNU-Linux/Linux“

给出未找到要启动的程序的错误。这需要提供整个路径的指示

“程序”:“/mnt/c/myproject/.vscode/dist/Debug/GNU Linux/Linux”,

以便启动程序并对其进行调试

在WSL下是否也有提供相对路径的方法?这将使复制和使用此
launch.json
文件与其他项目一样,而不是每次手动更改以提供完整路径

不包括这种情况,因为它只包括可执行文件是编译文件本身而没有任何扩展名的情况,并且不允许在项目文件夹中生成和启动可执行文件的任何特定相对寻址的子文件夹。

问题在此处得到解决: