首页 > 系统相关 >windows vscode平台配置C++环境

windows vscode平台配置C++环境

时间:2024-08-25 20:15:34浏览次数:9  
标签:编译 windows C++ vscode json UNICODE

背景:

   windows系统, 下载vscode

1.安装编译器

https://github.com/msys2/msys2-installer/releases/

2. 安装所需编译工具

 自动打开mysys2终端后:

# 官方提供指令
pacman -S mingw-w64-ucrt-x86_64-gcc
# 推荐指令
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

 3. 配置环境变量

 

 4. vscode编译

按F1,选择“C/C++: Edit Configurations (UI)”,此方式可以通过UI界面来配置编译方案:

 

{
    "configurations": [
        {
            // 编译方案名称
            "name": "Win32", 

            // 编译方案所包含的头文件的路径列表
            // vscode的智能感知引擎会在所设置的路径列表中检索相关的头文件
            "includePath": [
                "${workspaceFolder}/**"
            ],

            // 预处理的编译选项的宏定义
            "defines": [

                // _DEBUG宏:在调试版本的代码中定义,以便开发者可以插入特定于调试环境的代码
                "_DEBUG",

                // UNICODE宏:指示程序使用宽字符集(通常是wchar_t类型),若未定义该宏,则使用标准字符版本
                "UNICODE",

                // _UNICODE宏:Windows平台上与UNICODE等同
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.22621.0",

            // C++编译器所在路径
            "compilerPath": "D:/Mingw_8.1.0/mingw64/bin/g++.exe",

            // C/C++语言的版本
            "cStandard": "c17",
            "cppStandard": "c++17",

            // 智能感知模式:平台 - 编译器 - 硬件架构
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

生成tasks.json, 运行构建任务

选中hello_world.cpp,点击“Terminal” --> "Run Build Task":

调试launch.json

点击后会生成一个launch.json文件,我们需要修改如下两个地方:

program:编译生成的同名exe文件的路径,一般和task.json中的args最后一个参数一致。

miDebuggerPath:gdb的安装位置路径。特别注意路径是双反斜杠\\。

https://zhuanlan.zhihu.com/p/705575127

 

标签:编译,windows,C++,vscode,json,UNICODE
From: https://www.cnblogs.com/cookieyang/p/18379440

相关文章

  • 蓝桥杯青少组C++中级部分tj
    1比较难的一次考试,虽然难度低于预期,但依然打得不好。选择这部分比较难,尤其是\(\text{T4}\)考得阅读程序,结果没在选项里,其他有逻辑运算,进制运算,其余的比较简单。个人答案:\(\text{CBDAB}\)编程只记得\(1\),\(2\),\(4\),\(3\)过了,\(5\)\(6\)没写出来,\(1\)很简单的模拟,......
  • C++编程-数据排序2
    关于以后的更新已经8月25号了,即将接近CSP-J/S,因此,在数据排序算法更新完后,我们会重点更新CSP的试卷以及知识点,希望大家在考试中旗开得胜!回顾数据排序1在数据排序1中,我们讲解了选择、冒泡、插入、桶、快速排序,并留下了2道题目,今天就来解答这两道题目一:冒泡排序#include<st......
  • Windows提权方式汇总
    windows提权一、土豆(potato)家族提权原理土豆提权就是通过windows的COM(ComponentObjectModel,组件对象模型)类。向指定的服务器端口发送NTLM认证,捕获认证数据包,并修改数据包内容使其认证成功,从而获得system权限的token。在通过高权限的令牌执行反弹shell的命令,获取高......
  • C/C++、Java、Python全面比较
    以下是对C/C++、Java、Python三种编程语言的全面比较,以表格形式呈现:特性/语言C/C++JavaPython类型系统静态类型静态类型动态类型内存管理手动管理自动管理(垃圾回收)自动管理(垃圾回收)编译/解释编译型编译型(通过JVM解释执行)解释型性能高(直接编译成机器码)中等(通过JIT优化)较低(解......
  • 从零开始学习C++之枚举与模拟
    枚举和模拟是C++中最为基础的算法,也是之后赛时部分分的算法首选。枚举顾名思义,枚举就是将所有值全部扫一遍。枚举算法的流程图如下:我们很容易就可以写出伪代码:for(枚举区间){ 代码,例: if(条件) { 输出 }}模拟模拟就是将做的事情通过程序一步步完成,有时候很简......
  • 除Qt以外的C++GUI库
    ImGui图形用户界面项目Github地址:https://github.com/ocornut/imguiwxWidgetsHome:https://wxwidgets.org/。NanoGUINanoGUI是用于OpenGL3+、GLES2/3和Metal的极简跨平台工具库。RmlUiRmlUi是基于HTML和CSS标准的C++GUI库,目标是为任何项目的界面需求提供完整的解决......
  • [C++] 异常详解
    标题:[C++]异常详解@水墨不写bug目录一、错误处理方式C语言Java语言二、异常的概念三、异常的使用1.异常的抛出和捕获(基本用法) 2.异常的重新抛出(特殊情况)3.异常的规范和常见坑点四、标准库的异常体系五、C++异常小结正文开始:一、错误处理方式   ......
  • [C++] 初识 智能指针
    标题:[C++]初识智能指针@水墨不写bug目录一、前言二、智能指针1.什么是RAII?2.智能指针分类 三、智能指针简介1.std::auto_ptr2.std::unique_ptr3.std::shared_ptr正文开始:一、前言    C++智能指针的出现是有一定的背景的:    Java有专属......
  • 莫队算法C/C++实现
    目录简介 算法原理算法步骤C++实现应用场景莫队算法(Mo'sAlgorithm)是一种用于解决区间查询和更新问题的算法,由俄罗斯选手莫洛佐夫(MoMorozov)提出。它在算法竞赛和某些计算密集型任务中非常有用,尤其是在需要处理大量区间查询和更新操作时。莫队算法以其高效性和简洁性......
  • A*算法C/C++实现
    A*算法是一种在图形平面上,有多个节点的路径中,寻找一条从起始点(source)到目标点(goal)的最短遍历路径的算法。它属于启发式搜索算法,因为它使用启发式方法来计算图中的节点,从而减少实际计算的节点数量。A*(A星)算法是一种启发式搜索算法,用于在图中找到从起始点(source)到目标点(goal)的......