http://goodies.xfce.org/提供了許多Xfce環境下的插件,其中有個電池監視器插件,按照安裝說明中的步驟編譯時出現如下錯誤:
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>
重新編譯,通過!