在windows下编译wireshark的一些问题记录

1 nmake.exe 用VC自带的,位置:C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\binhtml

 

2 在verify tool时出错:不能在lib目录找到current_tag.txt。解决:手动建立此文件,并根据提示写上内容,通常是一个日期字符串,如2013-10-12。windows

 

安装cygwin时,一些必要的tools(如bison, flex, wget等等)默认是不安装的,须要手动安装。这里要注意的是mt,wireshark须要的mt.exe是windows自带的SDK里的,在目录 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin 里,不是cygwin里的。环境变量里配置的若是是指向cygwin\bin下的mt, 在verify_tools(#nmake -f makefile.nmake verify_tools)时会提示找不到mt, 且报错以下:bash

NMAKE : fatal error U1077: 'D:\cygwin\bin\bash.EXE' : return code '0x1'工具

因此,设置环境变量PATH时,要把C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin放在前面。flex

 

必需的工具在变量REQUIRED_TOOLS里定义(在文件Makefile.nmake里)。编码

 

必须用VS2008 Command Prompt(不能只是用command窗口)进行编译,不然会出现fatal error LNK1103一类的错误。缘由在于VS2008 Command Prompt设置了不少必要的环境变量(主要差异在PATH)。spa

 

6 INCLUDE环境变量里要配置 cygwin\usr\include,不然将找不到stdint.h.net

 

7 编译gdk时,报N多的字符不能识别的告警,最后编译失败未能生成obj文件。解决办法:将相应的不能识别的文件另存为ANSI编码的格式再从新编译。缘由是VC不能识别某些UTF-8的字符。我这里出问题的文件是Wireshark-win32-libs\gtk3\include\gtk-3.0\gdk\gdkversionmacros.h插件

 

编译以前的环境准备参考如下两篇文章:code

http://www.cnblogs.com/zzqcn/archive/2013/04/23/3039110.html

http://blog.csdn.net/hcj2002/article/details/2255637

 

Wireshark的插件开发参考:

http://blog.csdn.net/qgw_2000/article/details/5327519 

http://www.codeproject.com/Articles/19426/Creating-Your-Own-Custom-Wireshark-Dissector

相关文章
相关标签/搜索