go build 无文件_vscode的c++配置及多文件项目编译(主要是后者)

嗯,,,我又到vscode了,理由就是之前说的vs2015被我玩坏了,devcpp有点丑。

vscode对新手是真的不友好,说之前必须吐槽下!当我学会初步使用之后我才发现了找到了一篇非常新手向的文章,此处推荐一波,我自己写也不见得比这位作者写的好,有需要的链接拿去。https://zhuanlan.zhihu.com/p/147366852

接下来要说的是多文件项目的问题,找了好多地方,都是说用makefile之类的操作(上面推荐的文章虽然说了多文件编译可是我觉得他写的多文件和单文件明明就一样啊!我试了一下确实不行,可是竟然没人评论这个问题,我前面刚评论玩感谢他,就没好意思紧接着就拆台),虽然我之后是有想要了解的,但是现在让我去倒腾我是真的烦,vscode好复杂!!然后我就用上了之前在devcpp里面用的那中方法,但是并不太合适,用函数的时候莫名奇妙的可以了,我以为它行了,可是之后用对象和类的时候又不行了,报错就是未定义。然后我就四处查找,甚至已经想要妥协,准备打算去学习makefile了,这个时候一位充满求知精神的博主从天而降!此处推广一波他的博文:vscode 中C++运行编译运行多文件问题总结

里面说的很详细,但是我敏锐地get到了他的一个尝试,就是把tasks.json里面的编译命令的${file}改为"*.cpp",他说尝试后不行,但是我觉得很妙啊!然后我就试了,然后就好了!

具体文件的话就是像课上老师教的那样声明在.h中,实现在class.cpp中,然后#include “*.h",然后就可以了,下面附上我的.json的设置:

3c891c3bdd539b880f6417a2a224d146.png

a17a53e951c866539120296c1ea6e876.png

注意区分tasks和launch,下面附上文本:

launch:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", //要运行的文件
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"internalConsoleOptions": "neverOpen",
"MIMode": "gdb",
"miDebuggerPath": "D:VSmingw64bingdb.exe",// "setupCommands": [// {// "description": "Enable pretty-printing for gdb",// "text": "-enable-pretty-printing",// //"ignoreFailures": true// }// ],
"preLaunchTask": "build" // 调试会话开始前执行的任务,类似于Ant,这里为我们的编译任务
}
]
}

tasks:

{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"*.cpp",//"${fileBasename}",
"-o",
"${fileBasenameNoExtension}.exe",
"-std=c++11",
"-g",
"-fexec-charset=GBK"
],
"presentation": {
"echo": true,
"reveal": "always",
"panel": "new"
},
"problemMatcher": "$msCompile",
"group": {
"kind": "build",
"isDefault": true
}
},
{ //这个大括号里是‘运行(run)’任务,一些设置与上面的构建任务性质相同
"label": "run",
"type": "shell",
"dependsOn": "build", //任务依赖,因为要运行必须先构建,所以执行这个任务前必须先执行build任务,
"command": "${fileDirname}${fileBasenameNoExtension}.exe", //执行exe文件,只需要指定这个exe文件在哪里就好
"group": {
"kind": "build", //这一组是‘测试’组,将run任务放在test组里方便我们用快捷键执行
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": true, //这个就设置为true了,运行任务后将焦点聚集到终端,方便进行输入
"panel": "new"
}
}
]
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值