工作目录
配置文件
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "slamBook程序调试",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/build/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${fileDirname}/build/",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "/usr/bin/gdb"
},
{
"name": "c++编译&调试",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/exe/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}/exe/",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "/usr/bin/gdb",
"preLaunchTask": "c++单文件编译"
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "编译slambook的文件",
"command": "sh -x /home/lsy/coding/slambook2/.vscode/build_slambookFile.sh",
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
]
},
{
"type": "shell",
"label": "c++单文件编译",
"command": "sh -x ${workspaceFolder}/.vscode/buildSingleFile.sh ${file} ${workspaceFolder}/exe/${fileBasenameNoExtension}",
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
]
}
]
}
build_slambookFile.sh
pwd
mkdir build
cd build
cmake ..
make
buildSingleFile.sh
fileName=$1
outName=$2
echo "${fileName} --> ${outName}"
g++ ${fileName} -o ${outName} -g \
-I /usr/include/eigen3
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/eigen3"
],
"defines": [],
"cStandard": "gnu11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
settings.json
{
"python.pythonPath": "/home/lsy/anaconda3/bin/python",
"files.associations": {
"iostream": "cpp",
"ostream": "cpp"
}
}