Skip navigation.

Fat R笔记……与减肥无关

Fat awful terrible Rubbish-bin

faint! gthread初始化后崩溃的问题

,

这样一幅鸟德性的程序,执行时居然在g_print那就segmentation fault了:
int
main (int argc, char *argv[])
{
  g_thread_init (NULL);
  g_print("alive?\n");
  return 0;
}

我的实际情况更复杂一些,我是在gtk-2.0的程序中使用gthread的,在anjuta里面的Compiler and linker options里面加入了gthread库,结果程序一运行就立马崩溃。然而anjuta创建的gnome程序却可以正常使用gthread,我自己另外写一个简单的程序(就是上面那个),用`pkg-config --cflags --libs gthread-2.0`编译,运行起来也正常。那么看来还是编译选项的问题。于是只好把anjuta链接时使用的参数复制出来自己在命令行下面试。结果发现只要把glib-2.0链接进去了就会出错。然而程序依赖gtk+-2.0,必然需要把glib-2.0链进去。当时没明白过来到底怎么回事,后来在打算尝试把那个小程序的编译参数改成`pkg-config --cflags --libs gtk+-2.0 gthread-2.0`时才留意到那个是gthread-2.0,而我在anjuta里面选择的是gthread(没有gthread-2.0这项),它生成的编译参数用的是/usr/lib/libgthread.so,这个其实是1.2版本的,所以跟glib-2.0不兼容。于是在anjuta的Compiler and linker options的libraries标签页里面手动把gthread改成gthread-2.0,重新autogen、make,这样就可以正常使用gthread了

非常简单地……用esd播放PCM音频数据bluez重新配对蓝牙设备

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies

December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31