搭建Wireshark2.x的Win64编译环境

系统及软件版本

  1. Windows 10 pro x64

  2. RepidEE 8

  3. Visual Studio Community 2013 with Update 5 enu

  4. QT opensource-windows-x86-msvc2013_64-5.5.1

  5. CMake 3.5.0

  6. Python x64 2.7.11

  7. NSIS 2.5.0

  8. HTMLHelper 1.3

  9. Cygwin x64 2.4.1

安装配置

RepidEE安装

放在第一步是为了给各位做推荐,做开发的难免遇到环境变量这样那样的问题,这个工具可以简洁直观的让你整理好自己电脑的环境变量。

先看我最终结果,记得红框内按自己实际填写。

特别注意,如果PATH含有其它冲突工具的路径,记得先移除对应的条目。比如之前有mingw,可能会和Cygwin冲突。

基本原则是保证系统正常运行的情况下,使环境变量最简化。

搭建Wireshark2.x的Win64编译环境_第1张图片


Visual Stutio安装

Wireshark官方推荐的是2013社区版,理论上08~15的版本都能用,但我们还是照着推荐来,省得走弯路,有余力的可以进行其它尝试。

按照向导正常安装即可,路径或组件可按自己口味调整,官方建议是所有额外的组件都不选。

安装完成后,可以到开始菜单里找到VS2013 x64 Native Tools Command Prompt快捷方式。

方便起见,打开一个提示符窗口后,固定到任务栏。


QT安装

同样,照向导正常安装即可,注册的步骤可以跳过。记住安装路径,后面编译时需要设置环境变量。


CMake安装

没什么好说的,记得选择添加到PATH变量的选项即可。

Python安装


NSIS安装

略,只是最终用来生成Windows安装包。


HTMLHelper安装

N年不维护的东西了,用来生成Wireshark的帮助文件,看官方意思也准备抛弃它。

目前还是个鸡肋状态,必须得装,否则后面编译或打包会出错。


Cygwin安装

使用Cygwin的安装器,需注意的是添加一个对你来说,速度比较快的下载源,否则龟速到想死,我加的是中科大的http://mirrors.ustc.edu.cn/cygwin。

关键步骤如图1

依次打开分类,如下选择install(版本号有些许不同很正常,工具总是在更新嘛),其它保持default或skip即可,后面就是照默认一路下一步,期间会下载所选工具。

我完成后,看到下载的文件共316M,安装后共1.16G。所以呢,天朝做开发其实挺苦逼的,愿君网速够好。

Devel/bison 3.0.4-1

Devel/flex 2.5.39-1

Devel/git 2.7.4-1

Interpreters/perl 5.22.1-2

Text/asciidoc 8.6.8-1

Text/docbook-xml45 4.5-1

搭建Wireshark2.x的Win64编译环境_第2张图片

搭建Wireshark2.x的Win64编译环境_第3张图片

搭建Wireshark2.x的Win64编译环境_第4张图片

搭建Wireshark2.x的Win64编译环境_第5张图片

搭建Wireshark2.x的Win64编译环境_第6张图片

搭建Wireshark2.x的Win64编译环境_第7张图片

搭建Wireshark2.x的Win64编译环境_第8张图片


源码编译

获取源码

clone源码仓库或下载某个2.x版本的源码包都可以

先选择自己的工作区目录

我的是D:\Workspace\CLion,修改任务栏上VS2013 x64 Native Tools Command Prompt的属性,

起始位置设为D:\Workspace\CLion,方便嘛。

官方源码仓库地址是https://code.wireshark.org/review/wireshark

不过我喜欢Github的镜像仓库https://github.com/wireshark/wireshark.git,速度快些

打开VS2013 x64 Native Tools Command Prompt

下载源码,执行

git clone https://github.com/wireshark/wireshark.git

完成后在master默认分支上,当前是Wireshark2.1.x的开发版分支。另有master-2.0是Wireshark2.0.x的稳定版分支,及其它分支标签,按需切换。


编译

设置临时环境变量,执行

set WIRESHARK_CYGWIN_INSTALL_PATH=C:\cygwin64
set CYGWIN=nodosfilewarning
set WIRESHARK_BASE_DIR=D:\Workspace\CLion
set WIRESHARK_TARGET_PLATFORM=win64
set QT5_BASE_DIR=C:\Qt\Qt5.5.1\5.5\msvc2013_64

创建并进入编译目录,执行

mkdir wsbuild64
cd wsbuild64

生成VS solution及其它相关文件,执行

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

正常日志最后3行,如下

-- Configuring done
-- Generating done
-- Build files have been written to: D:/Workspace/CLion/wsbuild64

期间会下载解压一些第三方工具,如winpcap、usbpcap、gtk、gnutls,

到D:\Workspace\CLion\wireshark-win64-libs,

我这共282M。之所以几次强调下载包有多大,是供天朝的同胞参考和决策。咋又卡着不动了?不行重装一次吧?我还要不要浪费时间来折腾?

VS编译,执行

msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln

若一切顺利,你将得到百来个warning,和0个错误,恭喜成功。

可进入D:\Workspace\CLion\wsbuild64\run\RelWithDebInfo,执行Wireshark.exe

VS打包,先后执行

msbuild /m /p:Configuration=RelWithDebInfo nsis_package_prep.vcxproj
msbuild /m /p:Configuration=RelWithDebInfo nsis_package.vcxproj

完成后,将在D:\Workspace\CLion\wireshark\packaging\nsis目录,得到最终的Wireshark-win64-2.x.x.exe,

赶快发给小伙伴安装试试吧。


下一篇将记录idl2wrs生成中国移动北向告警接口的Wireshark解析插件时的填坑过程。

你可能感兴趣的:(wireshark,win64,VS2013)