终于在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

准备工作做好了,开始正式的编译过程:

  1. 编译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:\cygwin\bin。
    (5)MSVCR_DLL,如果VS安装在D盘,请在这里相应的地方用绝对路径表示,而不要去修改前面的PROGRAM_FILES,否则会出现意想不到的错误。
  2. 编译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文件夹中的一部分。

体会:

编译过程中是遇到了很多问题的,但是只要环境配对了,很多小问题,多自己想想,多百度,总能找到解决方法,重要的是不放弃,一定会成功!

在windows上编译wireshark源代码的更多相关文章

  1. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  2. [ZZ] 在windows上编译Mesa3d opengl32库

    在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...

  3. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  4. 在windows 上编译部署Rap2

    在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...

  5. 如何在 Windows上编译Objective-C

    Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多.今天在 ...

  6. 在windows上编译MatConvNet

    有个BT的要求,在windows上使用MatConvNet,并且需要支持GPU. 费了些力气,记录一下过程(暂不支持vl_imreadjpeg函数) 在这里下载MatConvNet,机器配置vs201 ...

  7. Windows 上编译 corefx 源码生成 Linux 上可用的 System.Data.SqlClient.dll

    最近在排查一个奇怪的 EF Core 查询速度慢的问题,需要在 corefx 2.2.3 的 System.Data.SqlClient 源码中打点. github 上签出 corefx 的源代码,运 ...

  8. 在Windows上编译和调试CoreCLR

    生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7+ Visual studio 2015 确保C++ 工具已经被安装,默认是不安装 ...

  9. .netcore跨平台 之 windows上编译,ubuntu上运行

    1 下载并安装netcore sdk    下载地址 https://github.com/dotnet/cli 选取合适的版本下载安装即可 打开 CMD ,输入dotnet,出现以下信息说明已安装好 ...

随机推荐

  1. PAT甲级 1002 A+B for Polynomials (25)(25 分)

    1002 A+B for Polynomials (25)(25 分) This time, you are supposed to find A+B where A and B are two po ...

  2. Hive中的用户自定义函数UDF

    Hive中的自定义函数允许用户扩展HiveQL,是一个非常强大的功能.Hive中具有多种类型的用户自定义函数.show functions命令可以列举出当前Hive会话中的所加载进来的函数,包括内置的 ...

  3. Java - 将 List 等分(最后一部分处理多余部分)

    背景 今天由于要使用多线程,所以事先需要确定启动线程个数.于是需要先将集合进行分配,确定线程的个数. 解决方案 首先是实现 public static <T> List<List&l ...

  4. 关于Trunk、Hybrid、Access、Tag、Untag、Pvid的关系

    一.相关定义 1.Trunk口  Trunk口上可以同时传送多个VLAN的包,一般用于交换机之间的链接. 2.Hybrid口 Hybrid口上可以同时传送多个VLAN的包,一般用于交换机之间的链接或交 ...

  5. martin/docker-cleanup-volumes

    https://hub.docker.com/r/martin/docker-cleanup-volumes/

  6. shell 入门基础

    一. Shell变量 1. 变量可分为两类: 环境变量(全局变量) 和 局部变量 . 环境变量 : 所有的环境变量都是系统全局变量,可用于所有子进程中,这包括编辑器.shell脚本和各类应用 . 环境 ...

  7. leetcode747

    public class Solution { public int DominantIndex(int[] nums) { var list = new List<KeyValuePair&l ...

  8. 转 CentOS下面安装RVM+ruby+Rails

    CentOS6.2下面安装RVM+ruby+Rails (1)RVM官方网站应该是改版过一次, 使用 curl -L https://get.rvm.io | bash -s stable 下载并安装 ...

  9. MySQL 索引优化原则

    一.索引优化原则 1.最左前缀匹配原则,联合索引,mysql会从做向右匹配直到遇到范围查询(>.<.between.like)就停止匹配,比如a = 1 and b = 2 and c & ...

  10. 【Django】uWSGI和Gunicorn【转】

    因为nginx等优秀的开源项目,有不少本来不是做服务器的同学也可以写很多服务器端的程序了.但是在聊天中会发现,大家虽然写了不少代码,但是对wsgi是什么,gunicorn是什么,反向代理又是什么并不了 ...