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>

 

重新編譯,通過!

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