windows下编译安装wireshark出现的问题及解决方法

本文档详细记录了在Windows下编译Wireshark时遇到的几个关键问题及其解决方法,包括win32.mak找不到、'bash'命令不识别、_MSC_VER版本不匹配、编译错误U1073以及Qt未安装等。通过调整环境变量、安装特定版本的Visual Studio、更新Makefile和正确编译插件等步骤,逐步解决了这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译参考文献:http://blog.youkuaiyun.com/woods2001/article/details/6324552

问题:win32.mak not found

https://ask.wireshark.org/questions/14343/setting-development-project-under-visual-studio-2012

由以上网址得出只要将包含win32.mak文件的目录添加到环境变量中就好了命令如下

set INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include

如果没有win32.mak文件的话,就要从这个网址下载Microsoft SDK,安装后就会有win32.mak文件了。

http://www.microsoft.com/en-us/download/confirmation.aspx?id=8279

问题:wireshark 'bash' is not recognized as an internal or external command

Config.nmake sets the path to Cygwin to be C:\cygwin\bin.这个Cygwin没有改对。

问题:_MSC_VER is:1900 but required is:1700

因为我的visual studio是2015版本的,而wireshark只支持到2013,所以出现问题,我又重新安装了visual studio2012.然后在2012的命令行下进行

nmake -f Makefile.nmake setup,这样这个问题就解决了。

编译wireshark命令:

在wireshark根目录下执行下列命令
//安装前验证
nmake -f Makefile.nmake verify_tools
//下载编译过程中所需要的库文件
nmake -f Makefile.nmake setup
//这时,会在wireshark_libs 目录下下载一些库文件并解压完成
//来清除源代码中用于在其它平台下编译的文件
nmake -f Makefile.nmake distclean
//编译
nmake -f Makefile.nmake all
这时,如果一切都正常,就会在最后显示:

正在创建库 libwireshark.lib 和对象 libwireshark.exp,这样底下这个问题就解决了。

问题:NMAKE : fatal error U1073: don't know how to make ..\..\epan\libwireshark.lib'stop.

经过测试:原始代码在进行插件编译的时候也会有这个问题,所以猜测是源代码整体编译时没有成功,导致缺少一些库。所以得重新编译wireshark。

编译插件命令和方法:

打开VS2008/2010的CMS窗口
pushd C:\Documents and Settings\Administrator\桌面\tools\wireshark_32\source\wireshark-1.11.3\plugins\foo
nmake -f Makefile.nmake distclean: (删除其他平台的冗余代码) 
nmake -f Makefile.nmake all: (编译插件)

这样就真正进入到了插件编译环节。

在当前文件夹下生成.dll文件

注意在wireshark下定义帧格式的时候,需要这样

#ifdef __MINGW32__
__attribute__((__packed__))
#endif

之后将我们生成的.dll文件拷贝到我们自己安装的相应版本的plungs目录下

我的是D:\Program Files\WiresharkPortable\App\Wireshark\plugins。这样当自己安装的wireshark启动的时候就会扫描这个文件夹,并加载相应的动态库。


问题:Qt没安装。

未解决

https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html



6.在相应的目录下,进行插件编译。然后将编译生成的插件插入到相应的目录。

将自己编写的代码拷贝到源代码的plugins文件夹下,然后从相应的visual stidio cd进入到此文件夹,执行命令:

nmake -f Makefile.nmake distclean 
nmake -f Makefile.nmake all

如果代码正常的话,就会生成.dll文件。

复制动态库文件到安装目录的插件目录(如D:\Program Files\WiresharkPortable\App\Wireshark\plugins\1.12.2)里。


下载编译要用的Lib库
http://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/ 


Makefile.nmake: 这个文件是Windows平台下WireShark内置插件的makefile
plugin.rc.in: Windows平台下的DLL资源模板。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值