'.png)
Я пытаюсь запустить следующую программу на моей машине Ubuntu, адаптированную изэта программа, с использованиемлибграфдля обеспечения поддержки функций BGI:
#include <graphics.h>
#include <curses.h>
int main()
{
int gd = DETECT, gm, i;
initgraph(&gd, &gm, NULL);
int x,y=0,j,t=400,c=1;
setcolor(RED);
setlinestyle(0,0,1);
for(x=40;x<602;x++)
{
cleardevice();
circle(x,y,20);
floodfill(x,y,YELLOW);
delay(40);
if(y>=400)
{
c=0;
t-=20;
}
if(y<=(400-t))
c=1;
y=y+(c?15:-15);
}
getch();
}
Предполагается, что он выводит прыгающий мяч. Но когда я его компилирую, я получаю следующую ошибку:
error: conflicting declaration of C function ‘int getmaxx(const WINDOW*)’
error: conflicting declaration of C function ‘int getmaxy(const WINDOW*)’
Я искал по всему интернету, но так и не смог устранить ошибку. Может ли кто-нибудь мне помочь, пожалуйста?
решение1
Я рекомендуюSDL_bgiдля такого рода преобразования, кажется, лучше поддерживается, чем libgraph. Используя его, вам нужно удалить строку #include <curses.h>
(которая вызывает конфликтующие объявления), и построить с
gcc bounce.c -lSDL_bgi $(pkg-config --libs sdl2) -o bounce