VSCode配置MSVC+VSCode使用easyx库,2021.5.13日配置~~

想必很多人和我一样,想用vscode编程c++,easyx库不支持MinGW,一般人都是直接使用vs2019安装easyx库用来GUI编程,那么爱折腾的VSCode用户,就很难受,其实不然,解决方法很简单,我们只需要在VSCode中配置MSVC编译环境,再配置一下json就可以了,今天我也是看了网上很多资料,刚刚配置成功,总结一下我的经历吧,因为使用现在网上现有的文章进行配置,一直在报错,最后还是被我给看穿了,因为是很低级的错误,话不多说,干!!!

1.配置MSVC编译环境

这一步是必须的,其实官方给出了教程,动手能力强的可以直接跟随这个,官方给出的方法,我这里详细说一下~~

(1)下载vs并安装c++桌面开发组件即可

如果是第一次安装vs,那么点击使用c++的桌面开发,即可默认包括MSVC~~

(2)使用VS的命令提示符进入你想要打开的文件夹

最好跟我一起,新建一个新的文件夹,如果你是第一次配置,可以先在你想要配置的地方建立一个文件夹,如下图所示,记住你文件夹的地址,或者直接复制地址~~

使用windows自带搜索工具搜索Developer Command Prompt,右键管理员模式打开(其实可以不用管理员模式打开,忽视他吧,你就跟我步骤来肯定一次成功)

当然第一次你先试一下cl.exe查看是否成功安装C++编译器,出现版号即成功

之后输入

code D:\testEasyx\demo          \\这里的路径是你刚刚建立的文件夹路径

(3)使用MSVC环境输出你的第一个程序

之后你的vscode就会被打开

这里就是我们打开的文件夹,我们点击这里的加号,新建文件,取个名字叫easyxdemo.cpp吧~~

在这里,我们先复制一下官方给出的cpp文件

#include <iostream>
#include <vector>
#include <string> using namespace std; int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"}; for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}

按Ctrl+F5,或者点击导航栏的运行->以非调试模式启动,这时会让我们选择编译环境,我们是msvc所以选第二个,c++(Windows)

之后会弹出这个cl.exe,我们选择这个即可

再之后就会变成这样,恭喜你,我们的MSVC环境成了~~

同时我们会注意到,这里自动帮我们生成了tasks.json文件,这个在后面的easyx库配置很重要,是主要报错点,当然现在还不是主要报错点~~

2.安装easyx库

官网链接,直接选择这里的下载,直接安装到你的vs2019里~~

!!!重点

修改easyx库文件的路径

如果你的vs2019是c盘默认的安装路径的话,那么easyx头文件和库文件会默认安放到如下文件夹下:

C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Auxiliary\VS\lib\x64

C:\Program Files(x86)\Microsoft VisualStudio\2019\Community\VC\Auxiliary\VS\lib\x86

C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Auxiliary\VS\include

如果你的vs2019安装路径是你自定义的话,easyx头文件和库文件其实也会默认安放到\Auxiliary\VS\lib\x64,\Auxiliary\VS\lib\x86和\VC\Auxiliary\VS\include下,前面的路径是你的ide下载路径如图所示~~

!!!重点

此时我们需要做的事情就是,把这6个文件,分别放在\VC\Tools\MSVC\14.28.29333\lib\x64,\VC\Tools\MSVC\14.28.29333\lib\x86和\VC\Tools\MSVC\14.28.29333\include路径下,也就是将原来\Auxiliary\VS\lib\x64下的EasyXa.lib和EasyXw.lib复制到\VC\Tools\MSVC\14.28.29910\lib\x64路径下,\Auxiliary\VS\lib\x86下的EasyXa.lib和EasyXw.lib复制到\VC\Tools\MSVC\14.28.29910\lib\x86,还有\VC\Auxiliary\VS\include下的easyx.h和graphics.h复制到\VC\Tools\MSVC\14.28.29910\include路径下,慢慢来,耐心做,很简单的~~

3.返回我们的VSCode,配置与编译第一个使用easyx库的文件

来了,重头戏来了,这里我网上找了一个代码,仅供测试使用,直接将我们刚刚easyxdemo.cpp里编写的helloworld全部替换成这个代码,就是用来测试,配置,与检测是否成功的~~

原代码作者blog链接,这里我们用来测试~~

#include <graphics.h>
#include <conio.h>
#include <math.h>
#define Width 640
#define Height 480
#define PI 3.14159
int main()
{
// 初始化绘图窗口
initgraph(640, 480, SHOWCONSOLE);
//秒针起始坐标
int center_x = Width / 2, center_y = Height / 2;
//秒针终点坐标
int secondEnd_x, secondEnd_y;
//分针终点坐标
int minuteEnd_x, minuteEnd_y;
//时针终点坐标
int hourEnd_x, hourEnd_y;
//秒针长度
int secondLength = Width / 4;
//分针长度
int minuteLength = Width / 5.5;
//时针长度
int hourLength = Width / 7;
//秒针对应转到角度
float secondAngle = 0;
//分针对应转到角度
float minuteAngle = 0;
//时针对应转到角度
float hourAngle = 0;
//定义变量存储系统时间
SYSTEMTIME ti;
BeginBatchDraw();
while (1)
{
setfillcolor(YELLOW);
setlinestyle(PS_DASHDOTDOT, 5);
setlinecolor(0x555555);
circle(center_x, center_y, secondLength + 30);
setcolor(0xAAAAAA);
setlinestyle(PS_DOT | PS_ENDCAP_SQUARE, 2);
circle(center_x, center_y, secondLength + 15);
for (int i = 0; i < 12; i++)
{
int x = center_x + cos(i * 30.0 / 360 * 2 * PI) * (secondLength + 15.0);
int y = center_y - sin(i * 30.0 / 360 * 2 * PI) * (secondLength + 15.0);
fillcircle(x, y, 5);
}
GetLocalTime(&ti);
secondAngle = (ti.wSecond / 60.0) * (2 * PI);
minuteAngle = (ti.wMinute / 60.0) * (2 * PI);
hourAngle = ((ti.wHour % 12) / 12.0) * (2 * PI) + (ti.wMinute / 60.0) * (2 * PI / 12.0);
secondEnd_x = center_x + secondLength * sin(secondAngle);
secondEnd_y = center_y - secondLength * cos(secondAngle);
minuteEnd_x = center_x + minuteLength * sin(minuteAngle);
minuteEnd_y = center_y - minuteLength * cos(minuteAngle);
hourEnd_x = center_x + hourLength * sin(hourAngle);
hourEnd_y = center_y - hourLength * cos(hourAngle);
//画秒针
setlinestyle(PS_SOLID, 1);
setcolor(WHITE);
line(center_x, center_y, secondEnd_x, secondEnd_y);
//画分针
setlinestyle(PS_SOLID, 2);
setcolor(GREEN);
line(center_x, center_y, minuteEnd_x, minuteEnd_y);
//画时针
setlinestyle(PS_SOLID, 5);
setcolor(RED);
line(center_x, center_y, hourEnd_x, hourEnd_y);
FlushBatchDraw();
setlinestyle(PS_SOLID, 1);
setcolor(BLACK);
line(center_x, center_y, secondEnd_x, secondEnd_y);
setlinestyle(PS_SOLID, 2);
setcolor(BLACK);
line(center_x, center_y, minuteEnd_x, minuteEnd_y);
setlinestyle(PS_SOLID, 5);
setcolor(BLACK);
line(center_x, center_y, hourEnd_x, hourEnd_y);
}
EndBatchDraw();
system("pause");
closegraph();
return 0;
}

这里我们会发现已经可以使用graphics.h头文件了~~

但是还需要进行一步配置,还记得tasks.json么,对,就是要配置他~~

这里我们默认时是这样的~~

现在将他改为这样~~

原来的type:"cppbuild"改为shell,

在args中添加链接所需.lib~~

方便大家复制,这里贴出~~

{
"tasks": [
{
"type": "shell",//需要改为shell
"label": "C/C++: cl.exe 生成活动文件",
"command": "cl.exe",
"args": [
"/Zi",
"/EHsc",
"kernel32.lib",//这里开始
"gdi32.lib",
"winspool.lib",
"comdlg32.lib",
"advapi32.lib",
"shell32.lib",
"ole32.lib",
"oleaut32.lib",
"uuid.lib",
"odbc32.lib",
"odbccp32.lib",
"user32.lib",//这里结束
"/nologo",
"/Fe:",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"${file}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$msCompile"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}

Ctrl+F5运行吧!一次成功!

希望我的这篇文章能够帮到你,如果你哪里报错了,可以评论留言,我看到了,我会解决这个错误就会耐心解答,本人能力也有限,希望大家都一次成功~~

VSCode配置MSVC+VSCode使用easyx库,2021.5.13日配置的更多相关文章

  1. STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解)

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) 前面 ...

  2. ssh配置、vscode使用及常用扩展

    1.ssh配置 1.1 进入命令行 win + r  > cmd 1.2 输入如下代码直接回车即可生成ssh  ssh-keygen -t rsa -C "xxx@qq.com&quo ...

  3. EasyX库简单中文手册

    EasyX库简单中文手册 作者: 时间: 2021/2/2 第一个例程 #include <graphics.h> // 图像相关库 #include <conio.h> // ...

  4. SVN版本库(访问权限)配置实例笔记

    http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...

  5. LVS+Keepalived实现MySQL从库读操作负载均衡配置

    转载于osyunwei 说明: 操作系统:CentOS 5.X 64位 MySQL主服务器:192.168.21.126 MySQL从服务器:192.168.21.127,192.168.21.128 ...

  6. 配置使用OpenCV静态链接库

    配置opencv静态链接库需要用到:staticlib 在配置链接器->附加库目录时应该为staticlib的路径.同理若是利用动态链接库则只需要lib的路径: 动态链接库则使用lib,然而在使 ...

  7. 此编译单元不包含在frame元数据中指定的factoryClass,无法加载配置的运行时共享库

    警告:此编译单元不包含在frame元数据中指定的factoryClass,无法加载配置的运行时共享库.要在没有运行时共享库的情况下进行编译,请将 -static-link-runtime-shared ...

  8. 配置豆瓣镜像作为python 库的下载源

    配置豆瓣镜像作为python 库的下载源 Windows 下如下配置:

  9. 基于EasyX库的贪吃蛇游戏——C语言实现

    接触编程有段时间了,一直想学习怎么去写个游戏来练练手.在看了B站上的教学终于可以自己试试怎么实现贪吃蛇这个游戏了.好了,废话不多说,我们来看看如何用EasyX库来实现贪吃蛇. 一.准备 工具vc++6 ...

随机推荐

  1. springMVC:校验框架:多规则校验,嵌套校验,分组校验;ssm整合技术

    知识点梳理 课堂讲义 学习目标 能够阐述表单验证的分类和区别 能够运用表单验证的常用注解 能够编写表单验证的示例 能够编写SSM整合的应用案例 能够总结SSM整合的步骤 1 校验框架 1.1 入门-视 ...

  2. 使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换

    使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换 需求: 日历区分交易日.非交易日 可以切换面板查看整年交易日信息 可以在手动调整交易日.非交易日 演示实例 序--使用软 ...

  3. Java学习之路 -- Java怎么学?

    @ 目录 java基础怎么学? 学完基础学什么? 几个常用框架学完学什么? MQ JVM的知识跑不掉 微服务等等 其他 数据结构和算法 java基础怎么学? 当时,作为懵懂的小白,大一学习了c和c++ ...

  4. C语言之文件操作

    C语言之文件操作 在本节我们将会讲解有关文件的读写操作: 纲要: 一些需要掌握的知识点 文件名 文件类型 数据流 文件缓冲区 文件指针 与文件操作相关的一些函数 文件的打开及关闭 文件的顺序读写 文件 ...

  5. JAVA题目:正整数n若是其平方数的尾部,则称n为同构数 如:5*5=25, 25*25=625 问: 求1~99中的所有同构数

    1 /*题目:正整数n若是其平方数的尾部,则称n为同构数 2 如:5*5=25, 25*25=625 3 问: 求1~99中的所有同构数 4 */ 5 //分析:将1-99分为1-9和10-99,用取 ...

  6. TypeError: Can't convert 'int' object to str implicitly Python常见错误

    尝试连接非字符串值与字符串 想要字符串连接非字符串需要先进行强制转化 可以用str()函数 --------------------------------

  7. AOE网与关键路径

    声明:图片及内容基于https://www.bilibili.com/video/BV1BZ4y1T7Yx?from=articleDetail 原理 AOE网 关键路径 数据结构 核心代码 Topo ...

  8. MySQL常用配置参数说明

    1.sync_binlog sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来 ...

  9. Element源码:项目初始化和webpack配置

    0x00.项目初始化 由于整个过程像素级 copy element,所以将不使用vue-cli初始化项目. 创建项目 新建一个空的文件夹,使用npm init 来初始化项目,并安装vue模块. 修改目 ...

  10. leetcode 刷题(数组篇)11题 盛最多水的容器(双指针)

    题目描述 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) .找出其 ...