Appearance
Appearance
本文档记录了我们的一些 Windows 库依赖是如何更新的。有关使用这些库构建 Wireshark 的信息,请参阅 Developer's Guide 中的 Library Reference 章节。
我们的许多库都使用 vcpkg 构建。详情请参阅 wireshark-vcpkg-scripts 中的 .gitlab-ci.yml。
C++ 库(例如 Qt)高度依赖 MSVC runtime(MSVCRT)版本,并且需要为每个 MSVC 编译器版本分别提供包。
一些库(例如 GnuTLS 和 Gcrypt)是在 Linux 上使用 MinGW 交叉编译的。在可能的情况下,尽量复用来自其他可信项目(例如 OpenSUSE 或 Debian)的包。
一个库包至少应包含头文件、运行时库(.dll)和导入库(.lib)。
不要使用 MinGW .dll.a 文件,它们与 MSVC 不兼容。单个 .dll.a 似乎可以工作,但多个 .dll.a 库会导致晦涩的运行时错误。请改为使用以下任一方式创建新的导入库:
MSVC dumpbin 和 lib.exe,如此处所述。
objdump 和 llvm-dlltool,如此处所述。
检查清单:
是否已创建一个以 zip 文件命名的子目录?
bin 目录中是否包含 .lib 和 .dll 文件?
.dll 文件是否已 strip?(如果节省不多则可选)
include 目录中是否包含头文件?
包含 .dll 文件的目录是否与 cmake/modules/Find<name>.cmake 中的 <name>_DLL_DIR 变量匹配?
首次:检出 Wireshark Development Libraries 仓库。
将你的包添加到 windows/packaging/<library>/ 下。
更新 windows/README.md。
最后在 Wireshark 源码中相应的 git 分支里更新 tools/win-setup.ps1。
Imported from https://wiki.wireshark.org/Development/WindowsLibs on 2020-08-11 23:13:25 UTC