title: resolve link errors for __imp__open and other similarly named functions using Microsoft Visual C++ 6.0
body: <p>Link errors like this sometimes occur when compiling C++ using Microsoft Visual C++ 6.0:</p>
  
  <p><code>error LNK2001: unresolved external symbol __imp__close</code><br>
  <code>error LNK2001: unresolved external symbol __imp__read</code><br>
  <code>error LNK2001: unresolved external symbol __imp__lseek</code><br>
  <code>error LNK2001: unresolved external symbol __imp__open</code>   </p>
  
  <p>My fix, which I found after searching fruitlessly using Google for a long time, is this:</p>
  
  <p>Do NOT disable language extensions. In the Project Settings dialog, in the C/C++ tab, make sure that the 'Disable language extensions' checkbox is not checked.</p>
  
  <p>The functions close, read, lseek, open, etc., are not standard parts of the C library and the declarations are skipped by conditional compilation using <code>#if !__STDC__</code> in <code>&lt;io.h&gt;</code>. This happens if you disable language extensions.</p>