编译qt4.8.1时出现错误 error: 'union' tag used in naming 'struct _GMutex'

环境: ubuntu12 64位

问题:编译qt4.8.1 时出现错误

> /usr/local/include/glib-2.0/glib/gthread.h:51: error: 'union' tag used in naming 'struct _GMutex'
> /usr/local/include/glib-2.0/glib/gthread.h:58: error: 'union' tag used in naming 'struct _GMutex'

分析

union ( 共用体):构造数据类型,也叫联合体
 用途:使几个不同类型的变量共占一段内存(相互覆盖)

 struct ( 结构体 ):是一种构造类型
 用途: 把不同的数据组合成一个整体——自定义数据类型


这个是版本问题,glib-2.0 将_GMutex的类型由struct 改为union, 而webkit的版本还没有跟着更新,导致编译出现错误。


解决方法

修改gthread.h

union _GMutex 改为 struct _GMutex


你可能感兴趣的:(编译qt4.8.1时出现错误 error: 'union' tag used in naming 'struct _GMutex')