终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪。。只能说要多试!
windows上编译wireshark共用到三个东西:wireshark源代码、python、cygwin
下面是编译成功所用的三种软件的版本:
wireshark源代码:
我用1.12.7和1.12.8都成功了,各种版本可以从https://www.wireshark.org/download/src/all-versions/下载
python:
我用的是python2.6版本
cygwin:
从网上下载最新版本,整个过程在线安装,以下库默认不安装,需要手动安装:
Archive / unzip
Devel / bison
Devel / flex
Interpreters / perl
Utils / patch
Web / wget
dos2unix
准备工作做好了,开始正式的编译过程:
-
编译config.nmake文件
(1)WIRESHARK_LIBS, 设置编译wireshark所需的库所在的目录,默认即可。(1.12.7和1.12.8是没有WIRESHARK_LIBS的,忽略即可) (2)PROGRAM_FILES,设置本机程序安装目录,默认即可。 (3)MSVC_VARIANT,因为我使用VS2008编译,将VS2010前#去掉即可 (4)CYGWIN_PATH,将其设置为cygwin的bin目录,例如C:cygwinin。 (5)MSVCR_DLL,如果VS安装在D盘,请在这里相应的地方用绝对路径表示,而不要去修改前面的PROGRAM_FILES,否则会出现意想不到的错误。
-
编译wireshark
1)检查工具是否都存在:nmake -f Makefile.nmake verify_tools
2)执行nmake -f Makefile.nmake setup,下载一些东西,过程有点长,会有很多的信息,最后会显示出下图:
3)执行下nmake -f Makefile.nmake distclean,最后显示下图
4)执行nmake -f Makefile.nmake all,过程比较长,耐心等待,最后会显示下图:
成功编译后的wireshark源代码文件夹中出现了很多目标文件,还生成了一个wireshark-gtk2文件夹,里面有好几个exe文件,比如wireshark.exe,tshark.exe,dumpcap.exe等。具体如下所示:
这个图片就是wireshark-gtk2文件夹中的一部分。
体会:
编译过程中是遇到了很多问题的,但是只要环境配对了,很多小问题,多自己想想,多百度,总能找到解决方法,重要的是不放弃,一定会成功!