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?

有帮助吗?

解决方案

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.

其他提示

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

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

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

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top