wireshark的主体采用Qt+c开发,但其中的build环节,使用了Python等,另wireshark开发社区为方便开发人员获取最新的源码,将其放在了GitHub中,为开发环境的搭建增加了很多环节。

本文仅记录搭建过程中遇到的一个问题,浪费了大概2天的时间。

一、问题描述

依照wireshark developer's guide,在执行如下命令时遇到问题:

cmake -DENABLE_CHM_GUIDES=on -G "Visual Studio 14 2015 Win64" ..\wireshark

显示在CMakeLists.txt中的line145执行失败,即message(FATAL_ERROR "Windows setup (win-setup.ps1) failed.")

二、问题定位

wireshark源码中win-setup.ps1执行失败。

三、问题原因

通过查看win-setup.ps1发现,其中有如下部分:

[ValidateScript({$_ -like "*\wireshark-*-libs-2.4"})]

这句代码的意思是检验一个路径的名称是否符合这样的要求,可以看到名称格式必须为:wireshark-*-libs-2.4;

问题就出在这个地方,在wireshark developer's guide中明明是这样说的:

> 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.9.1\msvc2015_64
> rem Append a custom string to the package version. Optional.

> set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfo

显而易见,win-setup.ps1中验证失败,将对应的路径名称改为:wireshark-*-libs-2.4之后,成功生成了build files。

wireshark开发环境搭建-cmake问题


相关文章: