找回密码
 注册
查看: 2213|回复: 6

gtk下的多线程出错。段错误?

[复制链接]
发表于 2006-10-4 21:52:39 | 显示全部楼层 |阅读模式
使用的是gtk+-2.8.0。
编译的命令:gcc -g -W -Wall -o test test.c `pkg-config gtk+-2.0 --libs gthread --cflags`

段错误
[code:1]#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <glib.h>
#include <pthread.h>
#include <gtk/gtk.h>
int main (int argc, char *argv[])
{
  GtkWidget *window;

  g_thread_init(NULL);
  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_widget_show(window);

  gdk_threads_enter();
  gtk_main();
  gdk_threads_leave();

  return(0);
}[/code:1]
发表于 2006-10-6 01:08:06 | 显示全部楼层
[code:1]
g_thread_init(NULL);
#if GTK_MAJOR_VERSION == 2
    gdk_threads_init();
#endif
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2006-10-6 12:10:48 | 显示全部楼层
谢谢你们。
不过还是不行,我看,应该是我安装的时候出错了,因为,只有多线程出错,其它的没有任何为题。我试试重装它。
回复

使用道具 举报

发表于 2006-10-6 14:39:36 | 显示全部楼层
--libs  gthread-2.0
回复

使用道具 举报

发表于 2006-10-6 22:32:56 | 显示全部楼层
gdk_threads_init()必须要加上
回复

使用道具 举报

 楼主| 发表于 2006-10-7 10:24:20 | 显示全部楼层
[quote:17269d1b8d="dzho002"]--libs  gthread-2.0[/quote]

非常感谢。加上-2.0就能用了,原来如此。我还以为是安装有错误呢。
也非常感谢大家的支持。再次谢谢。
回复

使用道具 举报

发表于 2006-10-9 16:56:17 | 显示全部楼层
你那个不是多线程,多线程要加一句gdk_flush ();
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-6 12:43 , Processed in 0.056015 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表