VScode配置C++时遇到的几个问题

文章目录

  • 基本安装
    • 1. #include出现波浪线:安装mingw并配置
      • 改正:需要添加include文件位置
    • 2. vscode exe does not exist
    • 3. 调试时,数组不显示元素值:安装msys
    • 中文乱码
      • 文件中注释乱码
        • 修改编码格式以正常显示
        • 重新设置编码格式
      • 控制台输出中文乱码
    • 后续改进
      • F6即可运行的插件
      • 一保存{}就换行
      • 关闭自动格式化
  • 多文件时报错: undefined reference to `XXX’
      • 解决办法
        • 参考文章
        • 安装项目生成插件
        • 配置并编译
        • 运行
    • 解决方法2:安装cmake
      • VSCODE运行时找不到include文件夹的头文件

本文所有安装包链接:https://pan.baidu.com/s/1eBidCewdNHaGJfZwGkhR2A?pwd=6666
提取码:6666

基本安装

基本的安装步骤参考安装VSCode并配置C++编程环境.

  1. MinGW下载安装
    参考Windows10安装MinGW-w64:https://sourceforge.net/projects/mingw-w64/files/
  2. 在VS商店里安装C/C++,安装Code Runner.

1. #include出现波浪线:安装mingw并配置

VScode配置C++时遇到的几个问题_第1张图片VScode配置C++时遇到的几个问题_第2张图片

改正:需要添加include文件位置

参考小白求助vscode配置问题,include老是波浪线。
下面这个位置作为头文件的查找位置,需要被加入到c_cpp_properties.json中。(c_cpp_properties.json 官方文档)

  1. 那么这个文件在哪里呢?首先鼠标滑过波浪线,选择快速修复,然后,编辑includePath,就会在左侧栏出现这个文件。如下:
    VScode配置C++时遇到的几个问题_第3张图片
    在设置Intelligence界面选择编译器位置,
    VScode配置C++时遇到的几个问题_第4张图片
    同时可以看到,左侧出现了一个.vscode文件夹,其中就有.json文件.
    VScode配置C++时遇到的几个问题_第5张图片

  2. 那么头文件的位置是如何确定的呢? 是安装MinGW时产生的。VScode配置C++时遇到的几个问题_第6张图片

注意,这里把\换成了/
VScode配置C++时遇到的几个问题_第7张图片
VScode配置C++时遇到的几个问题_第8张图片

2. vscode exe does not exist

参考如何解决 vscode exe does not exist 的问题。新建一个文件夹 -> 新建.c文件,编辑代码 -> F5运行 -> C++(GDB/LLDB) -> 生成文档。

3. 调试时,数组不显示元素值:安装msys

VS code 2019 解决调试看不了数组,vector,set等容器内部值的问题(pretty-printting).
根据这篇博文,自己实践了一次,真正需要做的就两步.(尝试过题主的解答,后面出错了一些,所以记录一下)。在这里下载,我下载的是msys2-x86_64-20220319.exe版本
1.下载安装msys2完成后,运行msys2,将bin目录添加至环境变量,并且一定要确保,新的目录在老的编译器bin目录之前。
2.在launch中添加一个选项:

{
	"configurations": [
    {
      //....
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
    }
  ]
}

中文乱码

文件中注释乱码

我这个项目,本来是使用codeblocks创建和管理的。现在使用vscode打开,发现汉字乱码了。
VScode配置C++时遇到的几个问题_第9张图片

修改编码格式以正常显示

VScode配置C++时遇到的几个问题_第10张图片
此时,汉字能够正常显示:
VScode配置C++时遇到的几个问题_第11张图片

重新设置编码格式

为了不每次都改,可以设置成utf-8格式来保存当前文件。这样,下次打开就不会乱码了。
VScode配置C++时遇到的几个问题_第12张图片

VScode配置C++时遇到的几个问题_第13张图片

控制台输出中文乱码

VScode配置C++时遇到的几个问题_第14张图片
参考VSCode中解决终端的中文乱码问题:

可以通过 chcp 命令查看 cmd 的编码设置,GBK2312 的代码页编号是 936,然后改成utf-8的编码即可,
utf-8 对应的代码页编号是 65001 ,所以执行 chcp 65001 就可以把cmd的编码设置成uft-8了,

后续改进

F6即可运行的插件

参考windows 10 系统 vs code 编译运行和调试 C/C++.在VScode中安装C/C++ Compile Run,按F6即可运行代码,输出结果在终端中。(不推荐)

一保存{}就换行

VSCode 格式化 cpp 文件时配置左大括号不换行
点击:文件->首选项->设置,然后输入 C_Cpp: Clang_format_style
将第一个默认的 file 改为 {BasedOnStyle: Chromium, IndentWidth: 4}
VScode配置C++时遇到的几个问题_第15张图片

关闭自动格式化

齿轮图标 -> 文本编辑器 -> 在setting.json中编辑 -> CTRL+F搜索"editor.formatOnSave" -> 设为false。
这样,保存或者切换窗口时,代码就不会自动格式化了。此时如要格式化,还可以右键:格式化文档 (快捷键Shift + Alt + f

多文件时报错: undefined reference to `XXX’

在我的项目中,有3部分,结构如下:
VScode配置C++时遇到的几个问题_第16张图片
各个文件的内容,如下:
VScode配置C++时遇到的几个问题_第17张图片VScode配置C++时遇到的几个问题_第18张图片VScode配置C++时遇到的几个问题_第19张图片

运行时,报错:

[Running] cd “d:\CPPs\LeetCode\simple75_0218\main” && g++ main.cpp -o main && "d:\CPPs\LeetCode\simple75_0218\main"main
C:\Users\ItsMe\AppData\Local\Temp\ccKMrJ7M.o:main.cpp:(.text+0xe): undefined reference to `test_helloWorld()’
collect2.exe: error: ld returned 1 exit status
[Done] exited with code=1 in 0.265 seconds

解决办法

参考文章

差不多是这样子解决的,最终找到了这篇博客:C++函数分文件编写(VScode2021配置教程)。
在这里插入图片描述
同时感谢Windows下用VScode编写C++程序如何添加并应用自定义头文件,linux下VScode编写C++程序如何添加头文件和对应的CPP文件博文的探索。以及VSCode编译时提示 undefined reference to “XXX” 问题一列, vscode下编译告警“undefined reference”?三步教你如何解决。

安装项目生成插件

VScode配置C++时遇到的几个问题_第20张图片

Ctrl+shift +p调起命令窗格,然后创建项目:VScode配置C++时遇到的几个问题_第21张图片

选择自己的项目的文件夹,该插件会在该文件夹下建立起一个新的结构。其中,仅src目录中有一个main.cpp,其他目录中都没有文件。
VScode配置C++时遇到的几个问题_第22张图片VScode配置C++时遇到的几个问题_第23张图片

配置并编译

将自己的头文件放在include文件家中,将源文件放在src文件夹中(删除自动生成的main.cpp)。
然后,使用ctrl+shift+B来编译文件,它会像下面这样输出,并新建一个output/main.exe的可执行文件:

Executing task: powershell -c mingw32-make <
g++ -std=c++17 -Wall -Wextra -g -Iinclude -o output\main.exe src/main.o src/body.o -Llib
Executing ‘all’ complete!
终端将被任务重用,按任意键关闭。

VScode配置C++时遇到的几个问题_第24张图片

运行

运行output/main.exe文件就可以得到运行结果。
首先使用**ctrl+`**唤起终端窗口,然后选择PS模式,效果如下:
VScode配置C++时遇到的几个问题_第25张图片
运行结果:
VScode配置C++时遇到的几个问题_第26张图片

解决方法2:安装cmake

VSCODE运行时找不到include文件夹的头文件

fatal error: XXX.h: No such file or directory

,main.cpp:3:10: fatal error: thread_pool.h: No such file or directory
3 | #include “thread_pool.h”
| ^~~~~~~~~~~~~~~

参考下一篇文章:VScode使用Cmake管理C++项目(多图)

你可能感兴趣的:(笔记,cpp,vscode,c++,ide)