Development/WindowsLibs

Windows Libraries

This article documents how some of our Windows library dependencies are updated. For information on building Wireshark using these libraries, see the Library Reference chapter in the Developer's Guide.

Many of our libraries are built using vcpkg. See .gitlab-ci.yml in the wireshark-vcpkg-scripts for details.

Packaging notes

C++ libraries (such as Qt) are highly dependent on the MSVC runtime (MSVCRT) version and require separate packages for each MSVC compiler version.

Some libraries such as GnuTLS and Gcrypt are cross-compiled with MinGW on Linux. Where possible, try to reuse packages from other trusted projects such as OpenSUSE or Debian.

At minimum a library package should contain header files, runtime libraries (.dll) and import libraries (.lib).

Do not use the MinGW .dll.a file, these are not compatible with MSVC. One .dll.a appears to work, but multiple .dll.a libraries results in a cryptic runtime error. Instead create a new import library with either:

Checklist:

Procedure for updating a library

  1. First time: Check out the Wireshark Development Libraries repository.

  2. Add your package under windows/packaging/<library>/

  3. Update windows/README.md.

  4. Finally update tools/win-setup.ps1 in the appropriate git branches in the Wireshark sources.


Imported from https://wiki.wireshark.org/Development/WindowsLibs on 2020-08-11 23:13:25 UTC