C语言,codeblocks+gcc编译环境中关于“graphics.h”头文件的问题
代码如下:/*Note:YourchoiceisCIDE*/#include"stdio.h"#include"conio.h"#include"graphics.h"#...
代码如下:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "conio.h"
#include"graphics.h"
#include"windows.h"
int main()
{
int gdriver,gmode;
gdriver=DETECT;
initgraph(&gdriver,&gmode,"");
setcolor(12);
settextstyle(4,0,8);
outtextxy(100,100,"game over");
setusercharsize(2,1,4,1);
setcolor(15);
settextstyle(2,0,4);
outtextxy(200,200,"game over");
settextstyle(3,0,0);
outtextxy(0,300,"game over");
getch();
closegraph();
return 0;
}
该程序用codeblocks+gun GCC compiler编译时错误提示如下:
gameover.c|4|graphics.h: No such file or directory|
gameover.c||In function `int main()':|
gameover.c|9|error: `DETECT' was not declared in this scope|
gameover.c|10|error: `initgraph' was not declared in this scope|
gameover.c|11|error: `setcolor' was not declared in this scope|
gameover.c|12|error: `settextstyle' was not declared in this scope|
gameover.c|13|error: `outtextxy' was not declared in this scope|
gameover.c|14|error: `setusercharsize' was not declared in this scope|
gameover.c|21|error: `closegraph' was not declared in this scope|
||=== 已完成构建: 8 个错误, 0 个警告 ===|
从错误提示中看出codeblocks+gcc编译器没有“graphics.h”头文件,我去GOOGLE查“graphics.h”头文件与“initgraph”等函数,结果是它们的头文件与函数关联没错。
接着尝试着把"windows.h"与"window.h"的头文件都加进去了,没成功。
后来我以为自己的程序编错了,就把程序源代码放到TC2.0中试过,可以运行,证明不是程序代码的问题。
猜想应该是codeblocks+gcc编程环境下要用其它的头文件才行。望知者解惑。
分数不多,但已是我全部的可用分了。 展开
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "conio.h"
#include"graphics.h"
#include"windows.h"
int main()
{
int gdriver,gmode;
gdriver=DETECT;
initgraph(&gdriver,&gmode,"");
setcolor(12);
settextstyle(4,0,8);
outtextxy(100,100,"game over");
setusercharsize(2,1,4,1);
setcolor(15);
settextstyle(2,0,4);
outtextxy(200,200,"game over");
settextstyle(3,0,0);
outtextxy(0,300,"game over");
getch();
closegraph();
return 0;
}
该程序用codeblocks+gun GCC compiler编译时错误提示如下:
gameover.c|4|graphics.h: No such file or directory|
gameover.c||In function `int main()':|
gameover.c|9|error: `DETECT' was not declared in this scope|
gameover.c|10|error: `initgraph' was not declared in this scope|
gameover.c|11|error: `setcolor' was not declared in this scope|
gameover.c|12|error: `settextstyle' was not declared in this scope|
gameover.c|13|error: `outtextxy' was not declared in this scope|
gameover.c|14|error: `setusercharsize' was not declared in this scope|
gameover.c|21|error: `closegraph' was not declared in this scope|
||=== 已完成构建: 8 个错误, 0 个警告 ===|
从错误提示中看出codeblocks+gcc编译器没有“graphics.h”头文件,我去GOOGLE查“graphics.h”头文件与“initgraph”等函数,结果是它们的头文件与函数关联没错。
接着尝试着把"windows.h"与"window.h"的头文件都加进去了,没成功。
后来我以为自己的程序编错了,就把程序源代码放到TC2.0中试过,可以运行,证明不是程序代码的问题。
猜想应该是codeblocks+gcc编程环境下要用其它的头文件才行。望知者解惑。
分数不多,但已是我全部的可用分了。 展开
2个回答
展开全部
graphics.h对应的是TC提供的图形库,是TC独有的,你用其它编译器来编译它,当然会报错。而且,据我所知,这个库,用一般方法貌似是无法移植到gcc的,除非在新的环境下使用旧的函数接口重写相应的库。
老实说,你这个问题,问得有点傻。你用MFC写的WINDOWS源代码,能放到LINUX下的GCC编译通过吗?显然是不可能的。
此外,conio.h这个头文件也有类似的问题。这个头文件主要是对DOS下的输入输出的支持,你弄到非DOS环境下,那就不一定有用了(就算把库导入进来,编译通过,也是这样.除非该环境对DOS兼容)。
我觉得更有意思的是,你居然把windows.h包含进来,真不知道你在想什么。DOS下的绘图和WINDOWS下的绘图,完全两回事。建议你多读读关于操作系统方面的书,弄清楚基于某个操作系统编程的基本问题。
老实说,你这个问题,问得有点傻。你用MFC写的WINDOWS源代码,能放到LINUX下的GCC编译通过吗?显然是不可能的。
此外,conio.h这个头文件也有类似的问题。这个头文件主要是对DOS下的输入输出的支持,你弄到非DOS环境下,那就不一定有用了(就算把库导入进来,编译通过,也是这样.除非该环境对DOS兼容)。
我觉得更有意思的是,你居然把windows.h包含进来,真不知道你在想什么。DOS下的绘图和WINDOWS下的绘图,完全两回事。建议你多读读关于操作系统方面的书,弄清楚基于某个操作系统编程的基本问题。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询