问题
I want to run a C program that draws a circle. The program is compiling with no error and it is running. After getting the values like radius from the user, I get the error like this :
BGI error: Graphics not initialized ( use "initgraph")
Even though in my source code I have added this line :
int gmode,gdrive=DETECT;
initgraph(&gdrive,&gmode,"c\\tc\\bgi");
Still I'm getting error.
I'm using Windows and I couldn't figure out where I went wrong. Can anyone help me in this regard?
Thanks in advance.
回答1:
Your path in initgraph
is wrong. Use "c:\\tc\bgi"
instead.
回答2:
I also suffered from that problem.
Simply put this line:
initgraph(&gdrive,&gmode, "c:\tc\bgi");
here c:\tc\bgi
is important.
MOST IMPORTANT:
In tc.exe
(which you are using) at top are some menus like file, edit, options:
- Go options>application
- select overlay (By Default it is "standard" but you must select "overlay" option), then click on ok.
- now you run your graphics progaram.
NOTE: in the output, if it gives an error about bgi, ignore it, just give the input for the program if it is required and it will give you the graphics output. Enjoy.
回答3:
If you get this error message when you run your graphics program: BGI Error: Graphics not initialized (use 'initgraph')
Just you need to copy the \tc\bgi\EGAVGA.BGI file to your local folder where you are running the application.
回答4:
Try this (it worked for me) :
The BGI folder is usually in the following path,
C:\TurboC++\disk\TurboC3\BGI
So the code you need to put in your program is as follows,
initgraph(&gd, &gm, "C:\\TurboC3\\BGI");
回答5:
Could be multiple reasons:
- wrong path to the bgi file (I see the colon is missing)
- unsupported graphics mode (don't expect DOS graphics apps to work under Vista and up)
回答6:
if by including "C:\tc\bgi" still the error persists , try this: goto file-> change directory.. change it to bgi.. but this has to be done every time u open the turboc
来源:https://stackoverflow.com/questions/7605942/bgi-error-how-to-resolve-it