2014-03-30 128 views
2

我有這樣的代碼: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)) ===| 

我把它添加到鏈接選項,同時其他的事情。

我該怎麼辦?

+0

在哪個操作系統上? 'initwindow'&'circle'不是標準的C++ 11! –

回答

3

下載this,並把它放在你的C編譯器的的lib文件夾。也不要忘記在接頭添加:

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

上面做後,你會得到屬於initgraph()或其他實際的編譯錯誤。

它在Codeblocks 13.12中適用於我。

2

如果您使用C++ 11編碼,您必須知道在C++ 11中已棄用<graphics.h>。如果您使用Turbo C++編譯它,則必須使用initgraph()函數並提供BGI文件夾的路徑。欲瞭解更多詳情,請查看: http://www.programmingsimplified.com/c/graphics.h

+0

我應該使用Qt嗎? – ThePHPAddicted

+0

QT完全不同,如果你想使用圖形,我推薦OpenGL。對於C++來說,這是一個非常靈活且簡單的API,我也是自己學習的。 :) – shauryachats

+1

@ShauryaChats你認真嗎? OpenGL並不容易或直接,特別是對於2D圖形。 Qt可能會過度殺傷,但至少它有一些[友好的2D API](http://qt-project.org/doc/qt-5/qpainter.html) – PeterT

1

您必須包含initgraph()函數。 補充一點:

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