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. HOOK实现游戏无敌-直接修改客户端-2-使用VS来处理

    HOOK实现游戏无敌-直接修改客户端-2-使用VS来处理 大概流程 1 首先找到游戏进程,打开进程 2 申请一段内存空间来保存我们的硬编码(virtualAllocEx) 3 找到攻击函数,修改函数的 ...

  2. 「HTML+CSS」--自定义按钮样式【001】

    前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...

  3. greenplum6.14、GPCC6.4安装详解

    最近在做gp的升级和整改,所以把做的内容整理下,这篇文章主要是基于gp6.14的安装,主要分为gp,gpcc,pxf的一些安装和初始化.本文为博客园作者所写: 一寸HUI,个人博客地址:https:/ ...

  4. 洛谷P1290欧几里德游戏

    题目地址 题目大意: 两个人st和ol博弈 有两个整数n,m 每次轮到一个人时候,需要选择用大的那个数减去小的那个数的倍数(不能减为负数) 最后得到0的为胜利者 思路: (以下讨论均在n<m的条 ...

  5. HTML5-本地存储浅谈

    Web Storage是HTML5里面引入的一个类似于cookie的本地存储功能,可以用于客户端的本地存储 sessionStorage && localStorage session ...

  6. 问题笔记 - element表格 操作状态值

    1.必须从传到表里的数据源中取值(scope.row.star)

  7. [Fundamental of Power Electronics]-PART I-4.开关实现-4.3 开关损耗/4.4 小结

    4.3 开关损耗/4.4 小结 使用半导体器件实现开关后,我们现在可以讨论变换器中损耗和低效的另一个主要来源:开关损耗.如前所述,半导体器件的导通和关断转换需要几十纳秒到几微秒的时间.在这些开关转换期 ...

  8. 翻译:《实用的Python编程》09_02_Third_party

    目录 | 上一节 (9.1 包) | 下一节 (9.3 版本分发) 9.2 第三方模块 Python 拥有一个包含各种内置模块的大型库(自带电池(batteries included))(译注:&qu ...

  9. 创建支持依赖注入、Serilog 日志和 AppSettings 的 .NET 5 控制台应用

    翻译自 Mohamad Lawand 2021年3月24日的文章 <.NET 5 Console App with Dependency Injection, Serilog Logging, ...

  10. C++ new和delete运算符得简单使用

    NEW C++ 中的new运算符用来分配内存,和c语言中得malloc有相似得功能. 使用new为当个元素开辟内存空间,并返回地址 typeName *pointer_name =new typeNa ...