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. io流(文件字符流(FileReader,FileWriter文件的复制))

    文件字符流(FileReader,FileWriter文件的复制) 文件的复制 效率低的方法 注意:字符流需要刷新操作,字节流不需要,只有刷新后才可以将程序中的内容导入到目标文件中 package c ...

  2. 利用Navicat premium实现将数据从Oracle导入到MySQL

    背景:我们给用户提供了新的直播系统,但客户之前的老系统用的数据库是Oracle,我们提供的新系统用的是MySQL 客户诉求:将老系统中的所有直播数据导入到MySQL中: 思路:我知道Navicat有数 ...

  3. 13 条高效实用的 JavaScript 单行代码

    JavaScript可以实现很多令人惊奇的事! 从复杂的框架到处理API,有太多的东西可以学习. 甚至,仅用一行代码,它也能完成一些很棒的工作. 不信?那么请看这13条JavaScript单行代码,用 ...

  4. 前端vue性能优化

    一:代码层次优化 1.1.v-if 和 v-show 区分使用场景 v-if 是 真正 的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建:也是惰性的:如果在初始渲染时 ...

  5. 接口自动化——读取Excle中遇到的问题

    一.module 'openpyxl' has no attribute 'load_workbook'问题 原因:在pycharm中py文件名字为openpyxl导致 修改方法:重新对py名字进行命 ...

  6. jQuery核心函数和静态方法

    jQuery核心函数 从jQuery文档中可以看出,jQuery核心函数一共3大类4小类 jQuery(callback) 当DOM加载完成后执行传入的回调函数 <script> $(fu ...

  7. python基础(〇):注释

    单行注释 Python中单行注释以 # 开头,例如: # 这是一个注释1 print("Hello, World!") # 这是一个注释2 多行注释 单引号(''') ''' 这是 ...

  8. Java实现操作系统中四种动态内存分配算法:BF+NF+WF+FF

    1 概述 本文是利用Java实现操作系统中的四种动态内存分配方式 ,分别是: BF NF WF FF 分两部分,第一部分是介绍四种分配方式的概念以及例子,第二部分是代码实现以及讲解. 2 四种分配方式 ...

  9. Manjaro 安装教程

    1 概述 本文讲述了如何在单硬盘下对Manjaro进行安装. 2 写U盘 首先第一步是下载镜像,官网下载地址戳这里,如果下载速度慢可以选择国内镜像,比如戳这里. 笔者选择的是XFCE桌面: 下载好后将 ...

  10. IDEA通过Maven打包JavaFX工程(OpenJFX11)

    1 概述 最近研究JFX,写出来了但是打包不了,这...尴尬... IDEA的文档说只支持Java8打成jar包: 尝试过直接使用Maven插件的package,不行,也尝试过Build Artifa ...