Я пытаюсь скомпилировать следующий код, но он дает мне сообщение об ошибке, как показано ниже. Я новичок в графике linux c и не могу понять это. Может ли кто-нибудь предложить решение?Как решить следующую ошибку в программе Linux Graphics C?
код: сообщение
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd = DETECT, gm;
int dx, dy, p, end;
float x1, x2, y1, y2, x, y;
initgraph(&gd, &gm,NULL);
printf("Enter Value of X1: ");
scanf("%f", &x1);
printf("Enter Value of Y1: ");
scanf("%f", &y1);
printf("Enter Value of X2: ");
scanf("%f", &x2);
printf("Enter Value of Y2: ");
scanf("%f", &y2);
dx = abs(x1 - x2);
dy = abs(y1 - y2);
p = 2 * dy - dx;
if(x1 > x2)
{
x = x2;
y = y2;
end = x1;
}
else
{
x = x1;
y = y1;
end = x2;
}
putpixel(x, y, 10);
while(x < end)
{
x = x + 1;
if(p < 0)
{
p = p + 2 * dy;
}
else
{
y = y + 1;
p = p + 2 * (dy - dx);
}
putpixel(x, y, 10);
}
getch();
closegraph();
}
ошибка:
[email protected]:~/libgraph-1.0.2$ ./b
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
b: ../../src/xcb_io.c:274: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
b: ../../src/xcb_io.c:274: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Aborted (core dumped)
* graphics.h * только один файл заголовка. Фактически вы используете * libgraph *. Возможно, вы получите больше ответов, указав это. – tofro
Если вы пытаетесь нарисовать несколько строк на изображении, вы можете использовать Magick ++. Это может привести к запуску https://www.imagemagick.org/Magick++/Image++.html и http://www.imagemagick.org/Magick++/tutorial/Magick++_tutorial.pdf –
Другим вариантом может быть использование libvga ', см. мой ответ здесь http://stackoverflow.com/a/36529602/2836621, а также http://www.svgalib.org –