2017-08-29 63 views
-2

語境 語言:C++ ,編輯:微軟的Visual Studio代碼版本1.15.1在有Graphics.h VS代碼版本無法正常工作1.15.1

問題 我使用微軟的Visual Studio代碼版本1.15.1編譯我的C++程序。我想使用Graphics.h在我的C++程序中使用圖形。這就是爲什麼我下載了三個文件Graphics.h,winbgim.h和libbgi.a並將它們放到正確的位置。我還從https://www.cs.colorado.edu/~main/bgi/visual/BGI2010.zip下載了一個BGI文件夾並將它放到正確的位置。但是當我編譯我的程序時,它顯示出一些錯誤。

我的C++程序

#include<iostream> 
    #include<math.h> 
    #include<graphics.h> 
    using namespace std; 
    int main(){ 
     int x,y; 
     int gd = DETECT ,gm; 
     initgraph(&gd,&gm,"C:\\MinGW\bgi"); 
     cout<<"Enter the Value of X Co-ordinate : "; 
     cin>>x; 
     cout<<"Enter the Value of Y Co-ordinate : "; 
     cin>>y; 
     putpixel(x,y,WHITE); 
     closegraph(); 
    } 

我計劃的錯誤

computerGraphics1.cpp: In function 'int main()': 
computerGraphics1.cpp:8:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 
    initgraph(&gd,&gm,"C:\\MinGW\bgi"); 
         ^
C:\Users\TUSK\AppData\Local\Temp\ccEbDqZq.o: In function `main': 
C:\Users\TUSK\Desktop\Practise\C++ Projects/computerGraphics1.cpp:8: undefined reference to `initgraph' 
C:\Users\TUSK\Desktop\Practise\C++ Projects/computerGraphics1.cpp:13: undefined reference to `putpixel' 
C:\Users\TUSK\Desktop\Practise\C++ Projects/computerGraphics1.cpp:14: undefined reference to `closegraph' 
collect2.exe: error: ld returned 1 exit status 

那麼,誰曾認定其解決方案專家,請採納率

+1

''標題和庫已過時並已過時。並且是針對允許指向非常量字符串的C的。在C++中,所有文字字符串常量就是這樣:***常量***。 *警告*告訴你,因爲'initgraph'接受一個非常量字符串的指針(如前所述在C中有效,即使文本字符串是隻讀字符串)。 –

回答

0

可以 「修復」與const_cast的錯誤,但要小心,如果永遠你試圖修改字符串內容,你可能會崩潰。

+0

這裏更大的問題可能是各種'graphics.h'函數的鏈接器錯誤。 – ComicSansMS