WireShark Cmake编译报错FATAL_ERROR "Windows setup (win-setup.ps1) failed

按照官方文档指示,将WireShark git到C:\Development文件夹后,启用vs2019命令行对其编译,报错如下信息:

CMake Error at CMakeLists.txt:146 <message>:
    message(FATAL_ERROR "Windows setup (win-setup.ps1) failed.")

这报错我忙活了一天多,还是百思不得其解

让我们看看官方的文档内容

Set the following environment variables, using paths and values suitable for your installation:

> rem Let CMake determine the library download directory name under
> rem WIRESHARK_BASE_DIR or set it explicitly by using WIRESHARK_LIB_DIR.
> rem Set *one* of these.
> set WIRESHARK_BASE_DIR=C:\Development
> rem set WIRESHARK_LIB_DIR=c:\wireshark-win64-libs
> rem Set the Qt installation directory
> set QT5_BASE_DIR=C:\Qt\5.15.2\msvc2019_64
> rem Append a custom string to the package version. Optional.
> set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfow

改成这个试试

set WIRESHARK_LIB_DIR=c:\wireshark-win64-libs

还是不行

 

仔细端详一番报错

Extracting  brotli-1.0.9-1-win64ws\scripts\buildsystems\msbuild\vcpkg.props
Extracting  brotli-1.0.9-1-win64ws\scripts\buildsystems\msbuild\vcpkg.targets
Extracting  brotli-1.0.9-1-win64ws\scripts\buildsystems\vcpkg.cmake
Extracting  brotli-1.0.9-1-win64ws\scripts\cmake
Extracting  brotli-1.0.9-1-win64ws\scripts\cmake\vcpkg_get_windows_sdk.cmake

Sub items Errors: 1

CMake Error at CMakeLists.txt:146 (message):
  Windows setup (win-setup.ps1) failed.

 再结合win-setup.ps1脚本写的逻辑,我有些觉得问题出现在brotli上了,于是谷歌了一圈,在ask.wireshark.org上发现了这么一段

 

 

 https://ask.wireshark.org/question/14130/problem-compiling-wireshark-under-windows/

于是按照他说的试了试,不好使……

 

结合之前莫名cmake成功过几次的产物,我对比了一下成功与失败的wireshark-win64-libs文件夹有什么不同

结果还是brotli上,问题应该是网络或者其他问题导致有时下载的压缩包不完整

 

解决

使用我之前cmake成功的libs,可以绕过脚本里下载与解压的过程,这个错误就可以避免了

同时记得设置WIRESHARK_LIB_DIR的值为这个libs文件夹

比如libs在c根目录下,(记得不要加rem,此乃.bat注释)

>set WIRESHARK_LIB_DIR=c:\wireshark-win64-libs

就可以了

下载链接:

https://wwr.lanzoui.com/i7sFAu1vjja
密码:gyj2

posted @ 2021-08-13 09:15  Linksman  阅读(479)  评论(0)    收藏  举报