开始以为是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>
conflicting types for 'dev_t'的原因
来源:清泛原创 2015-07-24 10:26:17 人气: 我有话说( 0 人参与)
在Linux下编译程序有时会遇到conflicting types for dev_t ,这貌似是一个Linux历史遗留问题,需要调整include头文件的顺序。
开始以为是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>
上一篇:Postfix发信的频率控制几个参数
下一篇:整合phpcms v9和discuz X3.2实现同步登陆、退出免激活