编译 C 文件时出错。致命错误:找不到“conio.h”文件
Posted
技术标签:
【中文标题】编译 C 文件时出错。致命错误:找不到“conio.h”文件【英文标题】:An error while compiling a C file. fatal error: 'conio.h' file not found 【发布时间】:2020-05-18 13:04:21 【问题描述】:我正在使用 macOS。
这是代码的一部分。
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#include <time.h>
void firstPage();
void instructions();
void border();
void patternOfGrass();
void patternOfPipes();
void birdFlies(int);
void birdFliesCont();
int getkey();
int gameOver();
void gotoxy(int, int);
void continueGame();
void youLose();
int length_of_pipes[80],speed=700,score=0,flag=0,level=1;
这些是我得到的错误。
flappy.c:2:10: fatal error: 'conio.h' file not found
#include <conio.h>
^~~~~~~~~
1 error generated.
kam~ gcc flappy.c
flappy.c:3:10: fatal error: 'graphics.h' file not found
#include <graphics.h>
它也会在 dos.h 和 time.h 中显示错误。
【问题讨论】:
您使用的是什么操作系统和编译器? 请将您的代码和错误信息作为文本直接放在问题中,而不是作为外部链接或图像。conio.h
特定于较旧的 Microsoft 实现,不是标准库的一部分。如果你试图用 gcc 或其他东西编译旧的 DOS 代码,它就行不通了。请将您尝试编译的代码和错误消息复制并粘贴到您的问题正文中。
这能回答你的问题吗? How to implement getch() function of C in Linux?
【参考方案1】:
您的错误表明您的代码适用于 DOS(可能是 Windows)
你可以试试:https://***.com/a/4371596/3937
【讨论】:
【参考方案2】:dos.h
,顾名思义,是 Borland 为其 Turbo C 和 Turbo C++ 编译器提供的 MS DOS API。它包含 MS DOS 编程所需的一切。
您需要在兼容 MS DOS 的计算机上使用 Turbo C 编译 该代码运行。一些 Windows 版本,如 Win 95/98 仍然有 MS DOS 仿真。
conio.h
是一个控制台用户界面 API,在某种程度上受到其他几个 MS DOS 编译器的支持。
graphics.h
是 Borland 的花哨的 EGA 图形库“Borland 图形接口”。你需要一个花哨的EGA graphics card 来运行它。当然,还有一台装有 Borland Turbo C 的 MS DOS 计算机。推荐使用支持 16 色的显示器。
所以首先你必须从The Borland Museum - Antique Software: Turbo C version 2.01下载Turbo C。
这样做后,您需要联系技术博物馆,并四处询问是否有人保存了一台您可以借用的古老计算机。或者,您可以花费数周时间尝试让一些“DOSBox”模拟器在您的 Mac 上运行。我想你可能必须在 Windows 模拟器中运行 DOS 模拟器。
【讨论】:
以上是关于编译 C 文件时出错。致命错误:找不到“conio.h”文件的主要内容,如果未能解决你的问题,请参考以下文章
致命错误编译:找不到tools.jar - maven-compiler-plugin
致命错误:找不到“google/protobuf/compiler/plugin.h”文件