"implicit declaration of <some function>" error

Mandeep Sandhu mandeepsandhu.chd at gmail.com
Fri Jul 19 07:21:02 EDT 2013


On Fri, Jul 19, 2013 at 3:38 PM, Ritesh Ranjan <r.ranjan789 at gmail.com>wrote:

> I keep getting "implicit declaration of <some function>" error quite
> often. So I'm assuming I am not adding the correct header files when I
> am writing the module.
>
> eg. I wanted to create a kernel thread using
> ktheard_create/kthread_run, but couldn't find which header to include.
> While I was looking for solutions I stumbled upon ctags. It mostly
> gets the job done, but not always. I couldn't find the proper header
> to use for open(inode,file); even though ctags pointed me to
> <linux/fs.h>, I still get the implicit declaration error.
>
> Is there any way of finding exactly which headers to include when one
> is trying to use a function? A detailed explanation would be really
> great.
>

For the specific header:
http://lxr.free-electrons.com/ident?i=kthread_run

Generally, Ctags is pretty good at finding things. In case you're not
getting the right def of a fxn, check the tag list in case there are
multiple functions defined with the same name. I forgot the vi command (I
think it was "ts" or "tl"), but it'll list down the various defs it found
for the fxn. You can then navigate to the specific file of your interest.

HTH,
-mandeep



>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130719/4582e95c/attachment.html 


More information about the Kernelnewbies mailing list