lx1230 2019-11-06 10:23 采纳率: 0%
浏览 370
已采纳

redhat6.8 上安装cairo时报错

报错如下:
In file included from cairo-xlib-private.h:40,
from cairo-xlib-display.c:40:
cairo-xlib-xrender-private.h:106: 错误:‘struct _XLinearGradient’重定义
cairo-xlib-xrender-private.h:109: 错误:与‘XLinearGradient’类型冲突
/usr/include/X11/extensions/Xrender.h:189: 附注:‘XLinearGradient’的上一个声明在此
cairo-xlib-xrender-private.h:115: 错误:‘struct _XCircle’重定义
cairo-xlib-xrender-private.h:119: 错误:与‘XCircle’类型冲突
/usr/include/X11/extensions/Xrender.h:150: 附注:‘XCircle’的上一个声明在此
cairo-xlib-xrender-private.h:120: 错误:‘struct _XRadialGradient’重定义
cairo-xlib-xrender-private.h:123: 错误:与‘XRadialGradient’类型冲突
/usr/include/X11/extensions/Xrender.h:194: 附注:‘XRadialGradient’的上一个声明在此
cairo-xlib-xrender-private.h:129: 错误:‘struct _XConicalGradient’重定义
cairo-xlib-xrender-private.h:132: 错误:与‘XConicalGradient’类型冲突
/usr/include/X11/extensions/Xrender.h:199: 附注:‘XConicalGradient’的上一个声明在此

出现这个问题的原因是:我安装cairo之前安装了 libX11-devel-1.6.4-3.el6.x86_64.rpm 依赖包,解决方式:卸载这个lib

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-06 10:38
    关注

    你在多个头文件包含了相同类型的结构体,去掉某个include,或者暴力改名(如果不多只有几处的话)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?