conflicting types for 'timer_t' 的解决

编译程序时遇到conflicting types for 'timer_t'  问题的的解决

http://goodies.xfce.org/提供了许多Xfce环境下的插件,其中有个电池监视器插件,按照安装说明中的步骤编译时出现如下错误:

In file included from ./libapm.h:21,
                 from battery.c:
39:
/usr/include/sys/types.h:62: error: conflicting types for 'dev_t'
/usr/include/linux/types.h:19: error: previous declaration of 'dev_t' was here
/usr/include/sys/types.h:67: error: conflicting types for 'gid_t'
/usr/include/linux/types.h:53: error: previous declaration of 'gid_t' was here
/usr/include/sys/types.h:72: error: conflicting types for 'mode_t'
/usr/include/linux/types.h:21: error: previous declaration of 'mode_t' was here
/usr/include/sys/types.h:77: error: conflicting types for 'nlink_t'
/usr/include/linux/types.h:22: error: previous declaration of 'nlink_t' was here
/usr/include/sys/types.h:82: error: conflicting types for 'uid_t'
/usr/include/linux/types.h:52: error: previous declaration of 'uid_t' was here
In file included from /usr/include/sys/types.h:133,
                 from .
/libapm.h:21,
                 from battery.c:
39:
/usr/include/time.h:105: error: conflicting types for 'timer_t'
/usr/include/linux/types.h:28: error: previous declaration of 'timer_t' was here
In file included from /usr/include/sys/types.h:220,
                 from .
/libapm.h:21,
                 from battery.c:
39:
/usr/include/sys/select.h:78: error: conflicting types for 'fd_set'
/usr/include/linux/types.h:18: error: previous declaration of 'fd_set' was here
In file included from ./libapm.h:21,
                 from battery.c:
39:
/usr/include/sys/types.h:235: error: conflicting types for 'blkcnt_t'
/usr/include/linux/types.h:151: error: previous declaration of 'blkcnt_t' was here
make[
2]: *** [xfce4_battery_plugin-battery.o] Error 1
make[
2]: Leaving directory `/tmp/xfce4-battery-plugin-0.5.1/panel-plugin'
make[
1]: *** [all-recursive] Error 1
make[
1]: Leaving directory `/tmp/xfce4-battery-plugin-0.5.1'

make: *** [all] Error 2

 

解决方法:

打开panel-plugin/libapm.h

将如下两行的位置互换

#include <linux/apm_bios.h>

#include <sys/types.h>

变成

#include <sys/types.h>

#include <linux/apm_bios.h>

 

重新编译,通过!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章