Chapter 5. Library Reference

Table of Contents

5.1. Introduction
5.2. Windows Automated Library Download
5.3. Qt
5.4. GLib And Supporting Libraries
5.5. c-ares
5.6. SMI (Optional)
5.7. zlib (Optional)
5.8. libpcap or Npcap (Optional, But Strongly Recommended)
5.9. GnuTLS (Optional)
5.10. Gcrypt
5.11. Kerberos (Optional)
5.12. Lua (Optional)
5.13. MaxMindDB (Optional)
5.14. WinSparkle (Optional)

5.1. Introduction

Like most applications, Wireshark depends on libraries provided by your operating system and by third parties, including the C runtime library, GLib, libpcap, and Qt. While running Wireshark only requires the libraries themselves, building it requires header files, import libraries, and related resources.

Binary libraries are available in different formats and are specific to the target operating system, platform, and compiler. They can be compiled by hand, but are most often installed as pre-built packages.

On most Linux systems, the required binary and development libraries can be installed using your package manager. We provide setup scripts that will install the required packages for most distributions. See Section 2.1.1, “Build environment setup” for details.

On macOS, you can install pre-built packages using a third party package manager such as Homebrew or MacPorts. As with Linux, we provide tools/, which will install the required Homebrew packages. We also provide tools/, which will download, build, and install required packages. Note that tools/ installs into /usr/local by default; you can change this with the -p flag.

Windows doesn’t have a good library package manager at the present time, so we provide our own pre-built libraries. They can be installed using tools/win-setup.ps1 and are automatically installed when you run CMake. With the exception of Qt, all libraries required to build Wireshark on Windows are available for download at See Section 5.2, “Windows Automated Library Download” for details.