错误提示:
from /home/lzx/work/test/mtk-openwrt-cc-v3.6/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/compat-wireless-2016-01-10/compat/backport-3.13.c:35:
include/linux/utsname.h: In function 'utsname':
include/linux/utsname.h:77:17: error: dereferencing pointer to incomplete type
return ¤t->nsproxy->uts_ns->name;
^
此提示显示错在 current 没有定义,这个current在哪里定义,怎么查找不到。
在GCONF.C 中有:
static struct menu *current;
LEMON.C 中有:
static struct config *current = 0;
要如何解决问题?
编译 增加 KMOD-mac80211 选项時 无法成功
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
hualude_lzx 2021-09-09 20:19关注#ifndef _LINUX_UTSNAME_H
#define _LINUX_UTSNAME_H#include <linux/sched.h>
#include <linux/kref.h>
#include <linux/nsproxy.h>
#include <linux/err.h>
#include <uapi/linux/utsname.h>//#include "expr.h"
//extern struct menu *current;enum uts_proc {
UTS_PROC_OSTYPE,
UTS_PROC_OSRELEASE,
UTS_PROC_VERSION,
UTS_PROC_HOSTNAME,
UTS_PROC_DOMAINNAME,
};struct user_namespace;
extern struct user_namespace init_user_ns;struct uts_namespace {
struct kref kref;
struct new_utsname name;
struct user_namespace *user_ns;
unsigned int proc_inum;
};
extern struct uts_namespace init_uts_ns;#ifdef CONFIG_UTS_NS
static inline void get_uts_ns(struct uts_namespace *ns)
{
kref_get(&ns->kref);
}extern struct uts_namespace *copy_utsname(unsigned long flags,
struct user_namespace *user_ns, struct uts_namespace *old_ns);
extern void free_uts_ns(struct kref *kref);static inline void put_uts_ns(struct uts_namespace *ns)
{
kref_put(&ns->kref, free_uts_ns);
}
#else
static inline void get_uts_ns(struct uts_namespace *ns)
{
}static inline void put_uts_ns(struct uts_namespace *ns)
{
}static inline struct uts_namespace *copy_utsname(unsigned long flags,
struct user_namespace *user_ns, struct uts_namespace *old_ns)
{
if (flags & CLONE_NEWUTS)
return ERR_PTR(-EINVAL);return old_ns;}
#endif#ifdef CONFIG_PROC_SYSCTL
extern void uts_proc_notify(enum uts_proc proc);
#else
static inline void uts_proc_notify(enum uts_proc proc)
{
}
#endifstatic inline struct new_utsname *utsname(void)
{
return ¤t->nsproxy->uts_ns->name;
}static inline struct new_utsname *init_utsname(void)
{
return &init_uts_ns.name;
}extern struct rw_semaphore uts_sem;
#endif /* _LINUX_UTSNAME_H */
代码如上:
解决 无用评论 打赏 举报