Why winpcap requires both .lib and .dll to run?

Specifications can be seen here:


It's very strange,either .lib or .dll is enough IMO,why does it require both?


In general, you need the .lib for the linker, and .dll at runtime. The .lib file is called an "import library", which contains the glue that tells the linker the functions you're calling can be found in the associated .dll file.

You will probably find that only the .dll file is required at runtime.

This is a widely used layout for Win32 DLL projects and is not limited to Winpcap.


Its not only with winpcap, all external libraries are like that.

    <li>When you compiles your source codes which using particular library, you need header files *.h from that library, and you will get *.o files </li> <li>When you link those *.o files to executables, you will need *.lib or *.dll.a files.</li> <li>When you run those executable files, you will need *.dll files</li> </ul>


    If you are calling a Dll you will need an Lib with that. you can see the below link for more info

    This is from wikipedia

    Linking to dynamic libraries is usually handled by linking to an import library (your .LIB) when building or linking to create an executable file. The created executable then contains an import address table (IAT) by which all DLL function calls are referenced (each referenced DLL function contains its own entry in the IAT). At run-time, the IAT is filled with appropriate addresses that point directly to a function in the separately-loaded DLL.


  • Armadillo installation
  • PHP: How to remove unnecessary dots in filename on file upload?
  • Pipedrive API PUT and POST requests for Filters endpoint not working
  • GLFW triangle will not change color
  • Should I optimize around reads or CPU time in Google App Engine
  • Equivalent of branch..merge for git-push
  • Using Netbeans with Cygwin and SDL, including SDL.h creates strange error
  • PHP UTF-8 to GB2312
  • init_seg and warning C4073 from library code?
  • iOS Localization Doesn't Work with More Than 63 Files
  • why calling cd shell command through system() or execvp() from a child process won't work?
  • Does Apportable support to build library binary (.a/.so)?
  • Bash if statement with multiple conditions
  • Do I need to reset a Perl hash index?
  • Hardware Accelerated Image Scaling in windows using C++
  • debug library loaded with ctypes using gdb
  • Combining SpatialPolygonsDataFrame of two neighbour countries
  • Admob requires api-13 or later can I not deploy on old API-8 phones?
  • Google Custom Search with transparent background
  • QLineEdit password safety
  • VS2008 Enable C++ Exception with SEH
  • output of program is not same as passed argument
  • Does CUDA 5 support STL or THRUST inside the device code?
  • Statically linking a C++ library to a C# process using CLI or any other way
  • Matplotlib draw Spline from multiple points
  • Return words with double consecutive letters
  • Run Powershell script from inside other Powershell script with dynamic redirection to file
  • Python: how to group similar lists together in a list of lists?
  • Load html files in TinyMce
  • How can I get HTML syntax highlighting in my editor for CakePHP?
  • How to set the response of a form post action to a iframe source?
  • coudnt use logback because of log4j
  • How can I remove ASP.NET Designer.cs files?
  • python draw pie shapes with colour filled
  • Are Kotlin's Float, Int etc optimised to built-in types in the JVM? [duplicate]
  • unknown Exception android
  • Is there any way to bind data to data.frame by some index?
  • Busy indicator not showing up in wpf window [duplicate]
  • reshape alternating columns in less time and using less memory
  • How can i traverse a binary tree from right to left in java?