0x01 前言
如果头文件有这个,#include <graphics.h>,编译时会显示
“Cannot open include file: 'graphics.h': No such file or directory”
原因是graphics.h是Tc中专有的,<graphics.h>这个头文件不是标准C的头文件,vc下没有这个头文件,画图用控件来。
那么下面就来详细解决一下出现此问题、三个版本 vs2015-2017-2019三个版本(常用应该就是2015和2019)
0x02 解决办法
- vs2015版本
1.下载对应的lib和include 百度云盘地址:百度云盘 密码:wi9b
2.选择vs2015右键打开文件所在目录 “C:你的安装目录Microsoft Visual Studio 14.0Common7IDE”,然后删除“Common7IDE”回车进入此目录、可以查看到VC目录
3.找到VC目录进入“include”,把百度云盘内下载完后include的内容移植进当前include文件内
4.继续打开“lib”目录、把百度云盘内下载完的“lib2015”文件内容移植进当前lib文件内
5.然后在打开vs2015的时候就不会再出现“graphics.h”无法打开的问题了
6.其实可以下载一个软件就可以解决安装方式 查看下面的方式可以一起使用的!
- vs2017-2019版本
1.下载EasyX: https://easyx.cn/
2.点击安装
3.点击安装即可、然后退出程序就好了、在打开vs编辑器查看是否生效、如果未生效就刷新一下程序即可!
0x03 题外插曲
调用outtextxy()函数时如果编译出现“没有参数列表匹配的重载函数”outtextxy“的实例”错误,解决方法如下
1、打开项目-属性页-高级(有些人的编辑器字符集不在高级内、请自行查找一下)
2、选择字符集-修改成使用多字节字符集
出现原因如下:
字符编码问题。vc2003及高版本VC 默认使用 Unicode 字符串。
对于Unicode编码,不论中文还是英文都是用2个字节表示;对于MBCS(Multi-Byte Character System,即多字节字符系统),字符可以使用不同长度的字节编码。
为了提高代码的自适应性,微软在 tchar.h 里面定义了 TCHAR,而 TCHAR 会根据项目定义的编码,自动展开为 char 或 wchar_t。
在 Windows API 和 EasyX 里面的大多数字符串指针都用的 LPCTSTR 或 LPTSTR 类型,LPCTSTR / LPTSTR 就是“Long Point (Const) Tchar STRing”的缩写。所以可以认为,LPCTSTR 就是 const TCHAR ,LPTSTR 就是 TCHAR 。
于是,所以在vs编辑器里面,给函数传递 char 字符串时,就会提示前述错误。