-
在vscode使用中如果想使用自定义的函数库或者第三方库需要对tasks和c_cpp_properties.json中的路径进行配置。
-
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32", // 配置名称可随意更改
"includePath": [ //运行项目包含.h头文件的目录,在此处添加外部头文件路径
"${workspaceFolder}/**",
"C:/test" //外部路径
//此处会匹配工作文件下的所有文件
], //添加"compilerPath"后,系统include路径可不写明
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:/MinGw/bin/g++.exe",//编译器的路径
"cStandard": "c17",//C标准的版本
"cppStandard": "c++17",//C++标准的版本
"intelliSenseMode": "${default}"
}
],
"version": 4
}
- tasks.json
使用 “-I” include 头文件以及源文件路径(若函数定义与声明不在一起)。
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++build",
"command": "D:/MinGw/bin/g++.exe",
"args": [
"-g",
"${file}",
"-I",//引入外部头文件
"F:\\C++\\headfile",
"F:\\C++\\headfile\\hello.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-std=c++17"
],
"options": {
"cwd": "D:/MinGw/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: D:/MinGw/bin/g++.exe"
}
]
}
参数解读:
gcc带不同参数的含义:"-g"产生调试信息,"-c"编译中间目标文件,"-I"指定链接库,"-o"生成指定命名的可执行文件
总结&笔记:
相关代码:
${workspaceFolder} :表示当前workspace文件夹路径,也即/home/Coding/Test
${workspaceRootFolderName}:表示workspace的文件夹名,也即Test
${file}:文件自身的绝对路径,也即/home/Coding/Test/.vscode/tasks.json
${relativeFile}:文件在workspace中的路径,也即.vscode/tasks.json
${fileBasenameNoExtension}:当前文件的文件名,不带后缀,也即tasks
${fileBasename}:当前文件的文件名,tasks.json
${fileDirname}:文件所在的文件夹路径,也即/home/Coding/Test/.vscode
${fileExtname}:当前文件的后缀,也即.json
${lineNumber}:当前文件光标所在的行号
${env:PATH}:系统中的环境变量