ThePHPAddicted
ThePHPAddicted

Reputation: 313

c++ graphics.h -lbgi not found

I have this code:

#include<graphics.h>
int main( )
{
    initwindow( 700 , 700 , "MY First Program");
    circle(200, 200, 150);
    getch();
    return 0;
}

but I get this error:

ld||cannot find -lbgi|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

I added it to linker options and also the other things.

What should I do?

Upvotes: 4

Views: 14372

Answers (4)

user11992727
user11992727

Reputation: 1

Perhaps your default location of compiler is not under ide folder. In this situation you have to copy graphics.h and winbgim.h in include folder and libbgi in lib folder of default location of the compiler also which may be C:\MinGW\include and C:\MinGW\lib.

Upvotes: 0

Enamul Hassan
Enamul Hassan

Reputation: 5445

Download this and put it in your C compiler's lib folder. Also do not forget to add in the linkers:

-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32

After doing above, you would get the actual compile error belonging to initgraph() or other.

It is worked for me in Codeblocks 13.12.

Upvotes: 3

Lithin Kuriachan
Lithin Kuriachan

Reputation: 11

You must include the initgraph() function. Add this:

int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\TC\BGI"); //Path where BGI folder appears

Upvotes: 1

shauryachats
shauryachats

Reputation: 10385

If you are coding in C++11, You must know that <graphics.h> is deprecated in C++11. If you are compiling it in Turbo C++, you must use the initgraph() function and give the path to the BGI folder. For more details, check this out: http://www.programmingsimplified.com/c/graphics.h

Upvotes: 2

Related Questions