簡體   English   中英

為什么我的 C++ 圖形程序沒有使用 g++ 編譯器顯示任何輸出?

[英]Why my C++ Graphics Program is not showing any output with g++ compiler?

我用 C++ 編寫了一個代碼,如下所示。 程序編譯成功。 但是,當我嘗試運行 .exe 文件時,我沒有得到所需的輸出。

我的代碼:

#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>

int main( )
{
    int gd = DETECT, gm;
    initgraph(&gd, &gm, (char*)"");
    setcolor(BLUE);
    line(100, 100, 200, 200);
    getch();
    closegraph();
}

我在 Windows 命令提示符中使用以下命令來編譯程序:

g++ -m32 -o trial trial.cpp -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 "C:\TDM-GCC-64\x86_64-w64-mingw32\lib\libbgi.a"

要運行我的 .exe 文件:在 powershell 中trial cmd 和./trial

但在此之后我沒有得到任何輸出。 為什么會這樣?

在此處輸入圖片說明

編輯:在指向libbgi.a庫的路徑之前缺少-L 此處提供更多詳細信息:目錄選項


現在幾乎沒有人使用graphics.h 正如其他人指出的那樣,有更好的選擇。

但是在 StackOverflow 上有很多關於使用WinBGIm錯誤代碼-1073741819 (0xC0000005)問題,沒有任何答案。 因此我想在這里發布一個。

此錯誤代碼是在分段錯誤時生成的。 可能有很多因素導致它,但是對於WinBGIm ,它通常是由於庫本身的錯誤造成的。

要使其工作,您必須將graphics.hwinbgim.h (從官方來源下載)的line 302更改為

    int left=0, int right=0, int right=INT_MAX, int bottom=INT_MAX,

    int left=0, int top=0, int right=INT_MAX, int bottom=INT_MAX,

差異應該是微不足道的; 早些時候有一個錯字,因為有兩個參數命名為right


無錯誤庫和頭文件可在此處獲得

其實我現在找到了類似的答案。 以后的讀者可以參考這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM