之前在ubuntu13.xx内核模块开发的工程,在ubuntu14.04版本运行时,出现如下错误:
error: function declaration isn’t a prototype [-Werror=strict-prototypes]
主要是楼主平时代码习惯不好,不喜欢用void,函数都是用如下模式:a()声明+定义,在一般的编译器里面
就会有一个警告 warning: function declaration isn’t a prototype。本来无伤大雅的,结果一到ubuntu14.04里面就
出错。分析原因:
主要是ubuntu14.04里面内核编译器比较严格(在bulid Mafile里面),添加了将部分warning严格表示为error,提
醒编程者这里有个问题。但是这种提醒楼主就不开心了,楼主工程非常大,需要修改很麻烦,所以就只能修改内核编
译器选项了,只需要修改文件:/lib/modules/3.13.0-32-generic/build中的Makefile文件(3.13.0-32-generic是内核版
本看你自己本机的为主):
将图中的标红的一句话删除就可以了,这儿就是严格的编译环境。