歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux下編程時的conflicting types for dev_t問題

在Linux下編譯程序有時會遇到這種問題,這貌似是一個Linux歷史遺留問題:

/usr/include/sys/types.h:62: error: conflicting types for ‘dev_t’

/usr/include/linux/types.h:13: error: previous declaration of ‘dev_t’ was here

/usr/include/sys/types.h:67: error: conflicting types for ‘gid_t’

開始以為是GCC的版本問題,升級了版本也不好使,後來發現!進入編譯出錯的文件xxx.cpp:

把所有#include <sys/xxx.h>都提到最前面,把#include <linux/xxx.h>的包含放在其後,就可以編譯通過了,之所以出現面的問題是存在循環引用所致。如:

#include <linux/apm_bios.h>

#include <sys/types.h>

變成

#include <sys/types.h>

#include <linux/apm_bios.h>

Copyright © Linux教程網 All Rights Reserved