关于“VS2022无法打开头文件<graphics.h>” 以及编译时 “没有与参数列表匹配的重载函数实例”俩个问题的解决思路

前言: 今天无聊没什么事干,突然看见一条视频梦回20年前杀马特横行的年代,炫酷而又土嗨的灯光闪烁,我又想了想之前写扫雷小游戏的时候,有的人写的游戏界面非常的炫酷,各种颜色都有,抱着没事没事干试一下的态度,我打开了 VS2022 想着试一下怎么做一个炫酷的灯光闪烁的效果,结果刚写完第一行代码就报错了,他提示我无法打开源文件 "graphics.h",但是其他的源文件比如stdio.h , string.h都可以。


目录

一.无法打开头文件

错误情况

解决方法

二.编译时没有与参数列表匹配的重载函数实例

错误情况

错误原因

解决方法

完整代码

运行效果


一.无法打开头文件 <graphics.h>

错误情况

首先先打开自己电脑上的VS编译器的目录,如果你和下图和笔者情况一样的话,那就好解决了,这里缺失了俩个文件缺失easyx.hgraphics.h 这两个源文件

解决方法

我们打开下面的这个网站,根据自己的版本进行下载就行了

EasyX 2023大暑版 (2023-7-23 更新) - EasyX

下载完成后,根据指引下载,然后我们打开刚才的 include 文件夹查看

我们就发现缺失的俩个文件都下载好了,这个时候再打开 VS编译器 就不会报错了

二.编译时提示没有与参数列表匹配的重载函数实例

错误情况

大概就是下面这个情况

错误原因

这里的错误原因是因为字符串的实际存储有多种编码格式,如果默认的编码格式和实际执行的平台不相符就会发生错误

解决方法

以 VS2022 为例,点击项目>高级>字符集,然后更改为使用多字节字符集

然后代码就可以无障碍运行了


完整代码

cpp 复制代码
#include<graphics.h>
#include<stdio.h>
#include<time.h>

int main()
{
	initgraph(640, 480);
	char str[] = { "I can do this all day" };
	srand((unsigned int)time(NULL));
	int x = 10;
	while (1)
	{
		settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));
		settextstyle(x, 0, "楷体");
		outtextxy(10, 10, str);
		Sleep(200);
		x++;
	}

	system("pause");
	closegraph();

	return 0;
}

运行效果

整个句子越来越大,越来越大,并且不断的变换颜色,非常的炫酷,有兴趣的小伙伴们可以去试一试

以上就是本次分享的全部内容了,如有错误,欢迎积极指出

相关推荐
心中有国也有家4 小时前
AtomGit Flutter 鸿蒙客户端: ChangeNotifier 模式
学习·flutter·华为·harmonyos
luj_17684 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
取地址符4 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
思麟呀5 小时前
C++17(三)if constexpr+折叠表达式
开发语言·c++
ysa0510305 小时前
【板子】ST表
c++·笔记·算法·板子
恣逍信点6 小时前
主观是客观的聚焦
人工智能·学习·程序人生·生活·业界资讯·交友·哲学
CHHH_HHH6 小时前
【C++11】深入解析C++可变参数模板
开发语言·c++·算法·stl·c++11
宏集科技工业物联网6 小时前
宏集EXOR物联网HMI赋能上海易勒篮式研磨机智能化升级
经验分享·物联网·工业4.0·工业自动化·hmi·工控屏
十五年专注C++开发6 小时前
fatal error C1189: #error: WinSock.h has already been included 的解决方案
c++·socket·boost
打球她不香吗6 小时前
本周ALLegro学习内容的总结
学习·allegro