title: C program can't find some included header files though they exist
body: <p>I'm trying to compile a program with this gcc command:</p>
  
  <pre><code>gcc -c -fomit-frame-pointer -O2 sth.c
  </code></pre>
  
  <p>These header files are included:</p>
  
  <pre><code>#include &lt;linux/kernel.h&gt;    //line 1
  #include &lt;linux/module.h&gt;    //line 2
  #include &lt;sys/syscall.h&gt;     //line 3
  #include &lt;linux/proc_fs.h&gt;   //line 4
  #include &lt;linux/types.h&gt;     //line 5
  #include &lt;linux/dirent.h&gt;    //line 6
  #include &lt;asm/unistd.h&gt;      //line 7
  </code></pre>
  
  <p>I get <code>"no such file or directory"</code> error for line 2,4 and 6 though they are located in <code>/usr/src/kernels/3.10.14-100.fc18.x86_64/include/linux/</code> just as the other 4.</p>
  
  <p>I've compiled some other programs whitch include kernel header files on this system before (using Makefiles) (fedora 18) before and I'm sure for example it didn't get such error for <code>dirent.h</code> or <code>proc_fs.h</code>. 
  I think maybe I should use some other options with gcc that maybe was considered in those Makefiles!</p>
  
  <p><code>kernel-headerfiles</code> and <code>kernel-devel</code> package of the same version of my running kernel is installed.</p>