使用gcc编译驱动模块遇到的问题

背景

由于工作中需要了解Linux的驱动模块,所以就开始学习,初看Linux驱动编程,跟着博客写一个块设备驱动学习,练习环境为centos6.5 gcc版本为6.3。

遇到的问题

跟着敲完那个简单的驱动程序后,发现编译出错,错误信息为

include/linux/compiler-gcc.h:89:30: fatal error: linux/compiler-gcc6.h: No such file or directory

一通百度,说gcc版本太高,去下载一个compiler-gcc6.h文件,放到内核源码文件夹里面,按着做了,结果编译又出问题了,错误信息为

include/linux/compiler.h:163:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
static __always_inline void data_access_exceeds_word_size(void)
include/linux/compiler.h:169:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
static __always_inline void data_access_exceeds_word_size(void)
include/linux/compiler.h:173:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
static __always_inline void __read_once_size(volatile void *p, void *res, int size)
include/linux/compiler.h:190:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
static __always_inline void __write_once_size(volatile void *p, void *res, int size)

解决方法

又是一通百度,发现跟我情况不符,看了下博客发表时间,08年,果断换了一个centos6.0的机器,gcc版本为4.6,编译完美通过,环境因素很重要啊。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值