title: Call exported functions of DLL in assembly without .lib file
body: <p>So I'm currently trying to call the exported functions of a dll inside my assembly file.
  The DLL is in the same directory as my asm program, I don't have the <code>.lib</code> file.</p>
  <p>Here is my code:</p>
  <pre><code>EXTERN __imp__CreateCompressor@12:PROC
  EXTERN __imp__Compress@24:PROC
  EXTERN __imp__CloseCompressor@4:PROC
  
  .code
  START:
              push 2 ;COMPRESS_ALGORITHM_MSZIP
              push 0
              push  OFFSET hCompress
              call    __imp__CreateCompressor@12
  
              push 0 ;CompressedDataSize
              push DWORD ptr [DataSize] ;CompressedBufferSize
              push eax ;CompressedBuffer
              push DWORD ptr [DataSize]
              push DWORD ptr [pBuf3]
              push DWORD ptr [hCompress]
              call __imp__Compress@24
  
              push DWORD ptr [hCompress]
              call __imp__CloseCompressor@4
  END START
  </code></pre>
  <p>However I get the errors:</p>
  <pre><code>file.obj : error LNK2001: unresolved external symbol ___imp__CreateCompressor@12
  file.obj : error LNK2001: unresolved external symbol ___imp__Compress@24
  file.obj : error LNK2001: unresolved external symbol ___imp__CloseCompressor@4
  file.exe : fatal error LNK1120: 3 unresolved externals
  </code></pre>
  <p>I'm assembling it like so:
  <code>ml file.asm /link /subsystem:console /entry:START</code></p>
  <p>Any ideas?</p>