在编译内核版本为3.12.6中加入yaffs2文件系统时出现以下情况,如何破!! 200
fs/yaffs2/yaffs_vfs.c:1228:错误:用‘kuid_t’初始化‘uid_t’时类型不兼容fs/yaffs2/yaffs_vfs.c:1230:错误:...
fs/yaffs2/yaffs_vfs.c:1228: 错误:用‘kuid_t’初始化‘uid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c:1230: 错误:用‘const struct <anonymous>’初始化‘gid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c: 在函数‘yaffs_symlink’中:
fs/yaffs2/yaffs_vfs.c:1427: 错误:用‘kuid_t’初始化‘uid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c:1429: 错误:用‘const struct <anonymous>’初始化‘gid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c: 在文件层:
fs/yaffs2/yaffs_vfs.c:1786: 错误:初始值设定项里有未知的字段‘readdir’
fs/yaffs2/yaffs_vfs.c:1786: 警告:从不兼容的指针类型初始化
fs/yaffs2/yaffs_vfs.c: 在函数‘yaffs_fill_inode_from_obj’中:
fs/yaffs2/yaffs_vfs.c:1832: 错误:将‘u32’赋值给‘kuid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c:1833: 错误:将‘u32’赋值给‘kgid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c:1857: 警告:格式‘%d’需要类型‘int’,但实参 3 的类型为‘kuid_t’
fs/yaffs2/yaffs_vfs.c:1857: 警告:格式‘%d’需要类型‘int’,但实参 4 的类型为‘kgid_t’
fs/yaffs2/yaffs_vfs.c: 在函数‘yaffs_proc_debug_write’中:
fs/yaffs2/yaffs_vfs.c:3304: 警告:比较不相关的指针时缺少类型转换
fs/yaffs2/yaffs_vfs.c: 在函数‘init_yaffs_fs’中:
fs/yaffs2/yaffs_vfs.c:3398: 错误:隐式声明函数‘create_proc_entry’
fs/yaffs2/yaffs_vfs.c:3399: 警告:赋值时将整数赋给指针,未作类型转换
fs/yaffs2/yaffs_vfs.c:3402: 错误:提领指向不完全类型的指针
fs/yaffs2/yaffs_vfs.c:3403: 错误:提领指向不完全类型的指针
fs/yaffs2/yaffs_vfs.c:3404: 错误:提领指向不完全类型的指针
make[2]: *** [fs/yaffs2/yaffs_vfs.o] 错误 1
make[1]: *** [fs/yaffs2] 错误 2
make: *** [fs] 错误 2 展开
fs/yaffs2/yaffs_vfs.c:1230: 错误:用‘const struct <anonymous>’初始化‘gid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c: 在函数‘yaffs_symlink’中:
fs/yaffs2/yaffs_vfs.c:1427: 错误:用‘kuid_t’初始化‘uid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c:1429: 错误:用‘const struct <anonymous>’初始化‘gid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c: 在文件层:
fs/yaffs2/yaffs_vfs.c:1786: 错误:初始值设定项里有未知的字段‘readdir’
fs/yaffs2/yaffs_vfs.c:1786: 警告:从不兼容的指针类型初始化
fs/yaffs2/yaffs_vfs.c: 在函数‘yaffs_fill_inode_from_obj’中:
fs/yaffs2/yaffs_vfs.c:1832: 错误:将‘u32’赋值给‘kuid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c:1833: 错误:将‘u32’赋值给‘kgid_t’时类型不兼容
fs/yaffs2/yaffs_vfs.c:1857: 警告:格式‘%d’需要类型‘int’,但实参 3 的类型为‘kuid_t’
fs/yaffs2/yaffs_vfs.c:1857: 警告:格式‘%d’需要类型‘int’,但实参 4 的类型为‘kgid_t’
fs/yaffs2/yaffs_vfs.c: 在函数‘yaffs_proc_debug_write’中:
fs/yaffs2/yaffs_vfs.c:3304: 警告:比较不相关的指针时缺少类型转换
fs/yaffs2/yaffs_vfs.c: 在函数‘init_yaffs_fs’中:
fs/yaffs2/yaffs_vfs.c:3398: 错误:隐式声明函数‘create_proc_entry’
fs/yaffs2/yaffs_vfs.c:3399: 警告:赋值时将整数赋给指针,未作类型转换
fs/yaffs2/yaffs_vfs.c:3402: 错误:提领指向不完全类型的指针
fs/yaffs2/yaffs_vfs.c:3403: 错误:提领指向不完全类型的指针
fs/yaffs2/yaffs_vfs.c:3404: 错误:提领指向不完全类型的指针
make[2]: *** [fs/yaffs2/yaffs_vfs.o] 错误 1
make[1]: *** [fs/yaffs2] 错误 2
make: *** [fs] 错误 2 展开
4个回答
展开全部
所有人回答都不对,linux 版本总是对这些宏改来改去,搞的早期的软件都不支持了,比如说:
早期内核是这样定义的:
typedef uid_t kuid_t;
typedef gid_t kgid_t;
linux 3.1以后内核,不知道世界某个角落的2B程序员奇思妙想,改成下面这样的:
typedef struct {
uid_t val;
}kuid_t;
typedef struct {
gid_t val;
}kgid_t;
看到上面的代码,你就会明白,所有引用到uid_t和gid_t变量的地方,都要改为下面的调用方法:
ia_uid.val;
ia_gid.val;
早期内核是这样定义的:
typedef uid_t kuid_t;
typedef gid_t kgid_t;
linux 3.1以后内核,不知道世界某个角落的2B程序员奇思妙想,改成下面这样的:
typedef struct {
uid_t val;
}kuid_t;
typedef struct {
gid_t val;
}kgid_t;
看到上面的代码,你就会明白,所有引用到uid_t和gid_t变量的地方,都要改为下面的调用方法:
ia_uid.val;
ia_gid.val;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用define指令将不兼容的类型重新封装
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
到yaffs2官方网站看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
内核支不支持yaffs2 版本支持吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询