所以我已经阅读了很多关于这个的答案,但我还没有找到解决方案,这就是我发布这个问题的原因。
我正在使用 Ubuntu 14.04LTS 和 gcc 4.8.4 来编译大学的图形程序。我更愿意使用 OPENGL,但它现在不是一个选项。每次执行代码时都会遇到此错误,无论我做什么,SDL 窗口都会在可能与程序中提供的延迟对应或不对应的延迟后关闭。
这是我的代码:
#include <stdio.h>
#include <graphics.h>
#include <X11/Xlib.h>
#include <math.h>
int XInitThreads();
int main(int argc, char *argv[]) {
XInitThreads();
int gd = DETECT, gm;
float yi, xi, xx, yy;
initgraph(&gd, &gm, NULL);
yy = 80.0000;
for(yi = 60.0000; yi <= 80.0000; yi+=1) {
xi = pow((400 - ((yy - yi)*(yy - yi))), 0.5);
putpixel((int)(200 + xi), (int)(280 - yi), WHITE);
putpixel((int)(200 - xi), (int)(280 - yi), WHITE);
putpixel((int)(200 + xi), (int)(120 + yi), WHITE);
putpixel((int)(200 - xi), (int)(120 + yi), WHITE);
}
delay(10000);
closegraph();
return 0;
}
我遇到了这个错误:
[xcb] 处理队列时序列号未知 [xcb] 这很可能是一个多线程客户端,并且没有调用 XInitThreads [xcb] 正在中止,对此感到抱歉。2602stackoverflow:../../src/xcb_io.c:274:poll_for_event:断言“!xcb_xlib_threads_sequence_lost”失败。
我试过使用 libX11,但它仍然给我同样的错误。我还尝试了另一个用户的程序,根据他的C 图形库错误,它运行良好,但在我修改它以删除 conio.h 后它仍然给我同样的错误,虽然线条确实在图形窗口中绘制,但它由于上述错误而关闭。请帮我解决这个问题。