Visual Studio Code C++编译运行无输出及编译器调用错误问题咨询
问题1解答
Run Code插件的C默认编译指令是写死调用g的,不会主动检测你本地安装的编译器类型,所以哪怕你装了clang也会优先调用默认的g++。
修改方法:
- 打开VSCode设置,搜索
code-runner.executorMap - 找到C++对应的配置项,把原有指令里的
g++替换成clang编译命令,Windows下参考:cd $dir && clang++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt
Problems标签页不显示报错是正常的:Problems标签只同步VSCode官方C/C++插件捕获的静态代码检查结果、以及关联编译任务的报错信息,Run Code是第三方独立插件,它的运行报错不会同步到Problems面板。
问题2解答
你当前的C_Cpp.default.compilerPath配置有误,只填了LLVM的bin目录路径,没有指定到具体的编译器可执行文件,C/C插件无法识别可用编译器,就不能自动生成调试所需的launch.json和tasks.json配置文件,所以会直接跳转到settings.json让你修正配置。
把对应配置改成完整的clang路径即可:
{ "workbench.colorTheme": "Solarized Dark", "C_Cpp.default.compilerPath": "D:\\Programs\\LLVM\\bin\\clang++.exe" }
修改完成后再按F5,就会正常引导你生成调试配置,不会直接跳转settings.json。
问题3解答
完成前面两个配置修正后,两种运行场景分别对应以下查看输出的方式:
- 用
CTRL+Alt+N调用Run Code运行:编译无报错的前提下,程序打印内容会直接展示在Run Code对应的「输出」标签页,你之前看不到是因为编译直接失败,程序根本没有启动运行 - 按F5调试运行:生成
launch.json配置时,把"externalConsole"字段设为true,运行时会弹出独立控制台窗口展示输出;如果设为false,输出会展示在下方的「终端」标签页,注意不是「输出」标签页,选错标签自然看不到打印内容。
内容的提问来源于stack exchange,提问作者noob
相关产品推荐
相关产品推荐

