C++ graphics.h -lbgi не найден

У меня есть этот код:

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

но я получаю эту ошибку:

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

Я добавил его в опции компоновщика, а также другие вещи.

Что я должен делать?

3 ответа

Решение

Загрузите это и поместите в папку lib вашего компилятора C. Также не забудьте добавить в линкеры:

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

После выполнения выше, вы получите фактическую ошибку компиляции, принадлежащую initgraph() или другой.

Это работает для меня в Codeblocks 13.12.

Если вы программируете на C++11, вы должны знать, что <graphics.h> устарела в C++ 11. Если вы компилируете его в Turbo C++, вы должны использовать initgraph() и укажите путь к папке BGI. Для получения более подробной информации, проверьте это: http://www.programmingsimplified.com/c/graphics.h

Вы должны включить initgraph() функция. Добавь это:

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

Возможно, ваше местоположение по умолчанию для компилятора не в папке ide. В этой ситуации вам необходимо скопировать graphics.h и winbgim.h в папку include, а libbgi в папку lib по умолчанию для компилятора, которая также может быть C:\MinGW\include и C:\MinGW\lib.

Другие вопросы по тегам