一直以为是多文件编译哪里出了问题,今天耗了好久花了好多时间发现,似乎是我编译器识别不了“*”号?
首先我的文件目录
task.josn
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\LenovoSoftstore\\Install\\DevC\\MinGW64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
//"&{file}", 系统初始自动生成,为了编译多个.cpp我注释掉写了下行
"${fileDirname}\\*.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I",
"D:\\programing\\CPP\\headers"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
然后编译main.cpp得到提示
下方提示Invalid argument(非法参数),貌似是不接受(无法识别)“*.cpp”的写法
之后我把待编译的.cpp文件路径手动输入配置文件,就成功了
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\LenovoSoftstore\\Install\\DevC\\MinGW64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
//"&{file}", 系统初始自动生成,为了编译多个.cpp我注释掉写了下行
"${fileDirname}\\main.cpp",
"${fileDirname}\\clock.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I",
"D:\\programing\\CPP\\headers"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
——分割——
编译器版本问题,更换c++11后能正常进行多文件编译
你改成"${fileDirname}/*.cpp"试试,可能被转义了
lz找到解决方法了吗