### Wireshark 2.0.3 生成 VS 工程步骤详解
#### 一、概述
Wireshark 是一款非常强大的网络数据包捕获分析工具,被广泛应用于网络安全、故障排查等领域。为了方便开发者使用 Visual Studio (VS) 开发环境进行开发与调试,本文将详细介绍如何使用 Wireshark 2.0.3 生成 VS 工程项目。
#### 二、准备工作
在正式开始之前,我们需要做一些准备工作来确保后续步骤能够顺利进行。这些准备工作包括创建两个批处理文件以设置必要的环境变量,以及确保所需的软件和库已经正确安装。
##### 2.1 创建环境变量设置文件
创建两个批处理文件 `env.bat` 和 `path-add.bat`:
- **env.bat** 的内容用于设置 Wireshark、Cygwin、Qt5 和其他项目的路径,例如:
```batch
set CYGWIN=D:\cygwin
set CYGWIN_PATH=%CYGWIN%\bin
set WIRESHARK_BASE_DIR=E:\LAB\ztttprj\coder\wireshark-2.0.0rc2
set WIRESHARK_TARGET_PLATFORM=win32
set QT5_BASE_DIR=D:\Qt\Qt5.3.1\5.3\msvc2010_opengl
set WIRESHARK_VERSION_EXTRA=-FZFXM.Ltd.cn
set VisualStudioVersion=10.0
```
其中的路径需要根据各自的机器情况进行修改。
- **path-add.bat** 用于添加 cmake 和 Qt 的路径到系统 PATH 变量中,例如:
```batch
path=E:\LAB\softgreen\ProgAssist\Compile\cmake-3.5.2\bin;D:\Qt\Qt5.3.1\5.3\msvc2010_opengl\bin;%path%
```
同样,这里的路径也需要根据实际情况进行调整。
##### 2.2 安装必备软件和库
- **Cygwin**:用于提供 Linux 兼容环境,便于使用 nmake 命令。
- **cmake**:用于生成 VS 工程文件。
- **Qt5**:Wireshark 使用 Qt 进行 GUI 开发。
- **Visual Studio**:本文档假设使用的版本为 2010 (10.0),但也可以适用于更高版本如 VS2015。
#### 三、nmake 编译 Wireshark-2.0.3
在完成了上述准备工作之后,接下来将使用 nmake 命令对 Wireshark-2.0.3 进行编译,具体步骤如下:
1. 将 `env.bat` 文件复制到 Wireshark-2.0.3 的根目录下,并在命令行中运行 `env.bat`。
2. 按照以下顺序运行 nmake 命令:
- `nmake -f Makefile.nmake verify_tools`:验证编译工具链是否正确配置。
- `nmake -f Makefile.nmake setup`:下载 Wireshark 所需的依赖包。
- `nmake -f Makefile.nmake distclean`:清理之前的编译内容。
- `nmake -f Makefile.nmake all`:开始全面编译 Wireshark。
#### 四、使用 cmake 生成 VS 工程
一旦 Wireshark 成功编译,下一步就是使用 cmake 生成 VS 工程文件。这一步骤的具体操作如下:
1. 在 Wireshark-2.0.3 目录下创建一个名为 `build-VS` 的新文件夹,用于存放 cmake 生成的 VS 工程文件。
2. 将 `env.bat` 和 `path-add.bat` 复制到 `build-VS` 文件夹中。
3. 在命令行中进入 `build-VS` 目录,并依次执行以下命令:
- `env.bat`
- `path-add.bat`
- `cmake -DENABLE_CHM_GUIDES=on -G "Visual Studio 10" ..`:生成适用于 VS2010 的工程文件。
- 如果需要生成适用于 VS2015 的 64 位工程文件,则命令应为 `cmake -DENABLE_CHM_GUIDES=on -G "Visual Studio 14 Win64" ..`。
执行完上述命令后,可以在 `build-VS` 目录下找到生成的 VS 工程文件。至此,我们就成功地使用 Wireshark 2.0.3 生成了 VS 工程项目。
#### 五、总结
通过以上步骤,我们不仅设置了必要的环境变量,还完成了 Wireshark 的编译和 VS 工程文件的生成。这些步骤对于想要在 Visual Studio 环境下开发或调试 Wireshark 的开发者来说至关重要。希望本指南能帮助大家更高效地进行 Wireshark 的开发工作。