同一文件夹下,
单个文件(不受其他文件影响)编译生成exe文件 和 多个文件编译生成exe文件
只和tasks .json 文件有关。
此方法在根本上还是和命令行编译的原理相同。
在命令行中,编译文件 g++ main.cpp -o main.exe
若要编译多个文件 则 g++ main.cpp Object.cpp -o main.exe
而在上面图片中,${fileDirname}\\*.cpp //将当前路径下的所有cpp文件都进行了编译
在改为 ${file} 之后,则是等同于在命令行里执行了 g++ file.cpp
上面话题到此结束
------------------------------------------------------------------------------------------------------------------------------------------
若是运行出错,则是
第四个参数 ${fileDirname}\\${fileBasenameNoExtension}.exe的问题
或者是launch中参数program的问题
还可以参考参考这个表 来自https://www.cnblogs.com/wanghao-boke/p/12058880.html
变量名 | 含义 |
---|---|
${workspaceRoot} | 当前打开的文件夹的绝对路径+文件夹的名字 |
${workspaceRootFolderName} | 当前打开的文件夹的名字 |
${file} | 当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名 |
${relativeFile} | 从当前打开的文件夹到当前打开的文件的路径,如当前打开的是test文件夹,当前的打开的是main.c,并有test/first/second/main.c 那么此变量代表的是 first / second / main.c |
${fileBasename} | 当前打开的文件名+后缀名,不包括路径 |
${fileBasenameNoExtension} | 当前打开的文件的文件名,不包括路径和后缀名 |
${fileDirname} | 当前打开的文件所在的绝对路径,不包括文件名 |
${fileExtname} | 当前打开的文件的后缀名 |
${cwd} | 任务开始运行时的当前工作目录 |
${lineNumber} | 前打开的文件,光标所在的行数 |