Linux内核 - 数据定义没有类型或存储类

时间:2014-06-27 07:33:41

标签: linux kernel export definition symbols

我正在研究Linux内核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);

有人可以帮我解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:4)

行。我发现了问题:我错过了module.h的include

所以,我把它添加到我的代码文件中:

#include <linux/module.h>

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