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

来源:互联网 发布:好用的男士洗发水知乎 编辑:程序博客网 时间:2024/05/01 16:51

编译参考文献:http://blog.csdn.net/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\foonmake -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资源模板。



0 0
原创粉丝点击