【问题标题】:Linux Kernel - Data definition has no type or storage classLinux 内核 - 数据定义没有类型或存储类
【发布时间】:2014-08-18 05:47:44
【问题描述】:

我正在使用 Linux Kernel 3.4,我有以下代码:

    /* Proximity sensor calibration values */
unsigned int als_kadc;
EXPORT_SYMBOL(als_kadc);
static int __init parse_tag_als_calibration(const struct tag *tag)
{
    als_kadc = tag->u.als_kadc.kadc;

    return 0;
}

__tagtable(ATAG_ALS, parse_tag_als_calibration);

但是当我构建它时,它给了我以下错误:

warning: data definition has no type or storage class [enabled by default]

是的,这是一个警告,但它是一个禁止警告,它被视为错误。 警告指向代码中的以下行:

EXPORT_SYMBOL(als_kadc);

谁能帮我解决这个问题?

谢谢。

【问题讨论】:

    标签: linux kernel export definition symbols


    【解决方案1】:

    好的。我发现了问题:我错过了 module.h 的包含

    所以,我将这个添加到我的代码文件中:

    #include <linux/module.h>
    

    这解决了我的问题,因为 EXPORT_SYMBOL 是在该头文件中定义的。

    【讨论】:

      猜你喜欢
      • 2012-03-13
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      相关资源
      最近更新 更多