1.编译环境

  • Windows10 +
  • Vs2019
  • Qt5.12
  • Python3

2.官方教程

wireshark提供windows平台的编译方法,点此查看

3.遇到的问题

3.1 cmake错误

理论上安装官方教程基本不会出错,但是在 2.2.12. Generate the build files中的第一步

cmake -G "Visual Studio 16 2019" -A x64 ..\wireshark

就出现报错。

cmake命令会输出很长一串输出,如果cmake失败,关键是区别定位哪些是导致cmake失败的信息,笔者起初关注的错误方向不对,耗费了大量的时间解决不必要的错误,例如:

...
-- Looking for setresuid - not found
-- Looking for strptime
-- Looking for strptime - not found
-- Performing Test HAVE_STRUCT_SOCKADDR_SA_LEN
-- Performing Test HAVE_STRUCT_SOCKADDR_SA_LEN - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_FLAGS
...

这种信息,只有没有明显的提示Error,错误并不会影响到cmake,直接忽略就好。

非常有用的一点是wireshark提供各平台编译过程中每一步的日志信息,如图所示

点击对应的步骤,就可以看到编译成功时输出的信息,然后与自己编译的输出信息对照,可以明确出错的问题是什么,避免走弯路。

对比后发现,本地的cmake输出比价明显的一个错误是关于Asciidoctor的错误,这个对应之前choco安装的asciidoctorj:

java.lang.UnsupportedClassVersionError: ***: Unsupported major.minor version 52.0

这个错误在wireshark的编译日志里面显然没有这个错误。我在powershell中直接输出asciidoctorj命令,也会报相同的错误。那基本上就是这个工具的问题。

查阅资料,这个错误产生的原因是asciidoctorj这个工具发布时使用jdk的版本和我本机版本不一致或者不兼容导致。

想想本地的JDK还是1.8版本,而choco安装asciidoctorj默认都是最新版本,可能是JDK版本过低导致,于是我重新下载安装JDK9.0,并配置环境变量。

果然,cmake通过了。

接下来就是

msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln

生成VS2019工程。

3.2 Qt lib库依赖错误

VS2019打开该工程,并F5运行是,报错弹窗

由于找不到Qt5Multimedia Qt5PrintSupportd.dll 无法继续执行代码

参考资料后,通过配置Qt的环境变量解决。

3.3 Qt vs2019插件错误

接着,运行时遇到弹窗错误:

This application failed to start because no Qt platform plugin could be initialized  VS2019

通过VS2019->扩展->管理扩展->联机->搜索Qt,选择安装Qt Visual Stdio Tools插件

然后,VS2019->扩展->Qt vs tool->Qt options,添加Qt的路径,例如我的是

C:\Qt\5.12.2\msvc2017_64

配置如图所示

重启VS2019,这时如果F5运行,还是报相同的错误。

选择 生成->清理解决方案

然后,生成->生成解决方案

清理并重新生成解决方案解决了问题。

最终,鲜活的wireshark在VS2019中运行出现了。

总结

无论在什么平台编译wireshark,主要步骤都类似。遇到错误时,参考wireshark提供的官方各平台编译的waterfalll的对应步骤的信息,对错误定位非常有用,避免走到错误的道路。

参考资料:

wireshark官方文档

Unsupported major.minor version 52.0报错问题解决方案

QT5.9由于找不到qt5core.dll,无法继续执行代码,解决办法

VS2019中QT连接及使用

Wondow10 编译 Wireshark 源码(Windows10 + Vs2019 +Qt5.12)相关推荐

  1. RHEL下编译wireshark源码

    系统环境: [root@RedHat6 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.0 (Santiag ...

  2. i9-13900K华硕 Z-790A wifi D5吹雪 编译Qt 源码实测

    i9-13900K华硕 Z-790A wifi D5吹雪 编译Qt 源码实测 电脑配置: i9-13900K Z-790A wifi D5吹雪 海盗船 ddr5 6000Mhz , 32G x 2 三 ...

  3. 我在windows10下,使用CMake gui 编译krita源码,CMake gui报错:LibMyPaint_DIR-NOTFOUND

    系列文章目录 文章目录 系列文章目录 前言 一.原因 二.解决 1.引入库 前言 我在windows10下,使用CMake gui 编译krita源码 where is the source code ...

  4. Win10+VS2019编译Jpeg源码时缺少win32.mak文件的内容

    在Win10中,使用VS2019的nmake编译Jpeg源码时,缺少win32.mak文件. win32.mak文件的内容如下: # Win32.Mak - Win32 application mas ...

  5. 我在windows10下,使用CMake gui 编译krita源码

    系列文章目录 文章目录 系列文章目录 前言 一.krita编译说明 二.使用步骤 前言 我在windows10下,使用CMake gui 编译krita源码 where is the source c ...

  6. windows10下使用minGW64 编译krita源码报错

    系列文章目录 文章目录 系列文章目录 前言 一.错误原因 二.使用步骤 1.引入库 前言 collect2.exe: error: ld returned 1 exit status mingw32- ...

  7. c++ 编译添加dll_使用MinGW编译OpenCV4源码与配置使用演示

    点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 QT在Windows上安装好之后,常规会两种编译器选择分别是: -VS2015/2017/2019....-m ...

  8. QGC开发(一)---编译构建源码

    编译构建源码 编译信息 下载QGC源码 编译与构建 编译信息 系 统:Ubuntu 16.04 QT 版 本:QT5.12.6 QGC版本:Stable_3.5.6 下载QGC源码 下载连接: git ...

  9. 中标麒麟编译qgis源码+PyQt环境

    中标麒麟编译qgis源码 根据公司工作安排需要在中标麒麟下编译qgis3.4.7,把编译的过程随手记录一下. QGIS项目主页:http://www.qgis.org/en/site/ QGIS源码下 ...

最新文章

  1. 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 一 )
  2. delimiters 插值 选项
  3. 在windows下将Tomcat设置为自动启动的服务
  4. mysql innodb 并行_关于MySQL8.0 InnoDB并行执行的详解
  5. android虚线边框_Android实现代码画虚线边框背景效果
  6. 《阿里巴巴Android开发手册》v1.0.1更新,优化部分内容和示例代码
  7. Matlab线性/非线性规划优化算法(2)
  8. python学习之面向对象学习进阶
  9. 七年三套房,阿里程序员炫富,努力就有回报,感谢当初的选择!
  10. Dbgview退出再打开无法使用的解决办法
  11. Mysql-索引优化
  12. Android-Bitmap图片优化
  13. zeplin 登录效果实现
  14. UE4 解决半透明材质显示错误
  15. 一生当修炼这十样品质
  16. 印象笔记:部分Mac用户因为故障而丢失数据
  17. 任何一台计算机硬件系统都是油,大学生计算机基础第一章.ppt
  18. Excel的一些函数操作
  19. 【Vectorizer.AI】免费将 JPEG 和 PNG 位图转换为 SVG 矢量图
  20. 计算机专业女生节祝福语,2017年女生节祝福语大全 3.7女生节祝福语微信短信推荐...

热门文章

  1. 胸部 腹部、背部穴位图解及取穴方法
  2. cad是什么?怎样可以快速打开cad文件
  3. 求解Wiener过程中随机参数分布的EM算法
  4. 六款免费学习编程的app「建议收藏」
  5. 通过Matlab计算拟合优度
  6. (vue-部署)-找不到模块(Error: Cannot find module ‘@/views/index‘)
  7. 数据结构——简要概述
  8. Hugo LoveIt主题配置与使用
  9. 基于微信JAVA后台新生报到小程序系统设计与实现 开题报告
  10. emscripten安装教程