Wondow10 编译 Wireshark 源码(Windows10 + Vs2019 +Qt5.12)
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)相关推荐
- RHEL下编译wireshark源码
系统环境: [root@RedHat6 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.0 (Santiag ...
- 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 三 ...
- 我在windows10下,使用CMake gui 编译krita源码,CMake gui报错:LibMyPaint_DIR-NOTFOUND
系列文章目录 文章目录 系列文章目录 前言 一.原因 二.解决 1.引入库 前言 我在windows10下,使用CMake gui 编译krita源码 where is the source code ...
- Win10+VS2019编译Jpeg源码时缺少win32.mak文件的内容
在Win10中,使用VS2019的nmake编译Jpeg源码时,缺少win32.mak文件. win32.mak文件的内容如下: # Win32.Mak - Win32 application mas ...
- 我在windows10下,使用CMake gui 编译krita源码
系列文章目录 文章目录 系列文章目录 前言 一.krita编译说明 二.使用步骤 前言 我在windows10下,使用CMake gui 编译krita源码 where is the source c ...
- windows10下使用minGW64 编译krita源码报错
系列文章目录 文章目录 系列文章目录 前言 一.错误原因 二.使用步骤 1.引入库 前言 collect2.exe: error: ld returned 1 exit status mingw32- ...
- c++ 编译添加dll_使用MinGW编译OpenCV4源码与配置使用演示
点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 QT在Windows上安装好之后,常规会两种编译器选择分别是: -VS2015/2017/2019....-m ...
- QGC开发(一)---编译构建源码
编译构建源码 编译信息 下载QGC源码 编译与构建 编译信息 系 统:Ubuntu 16.04 QT 版 本:QT5.12.6 QGC版本:Stable_3.5.6 下载QGC源码 下载连接: git ...
- 中标麒麟编译qgis源码+PyQt环境
中标麒麟编译qgis源码 根据公司工作安排需要在中标麒麟下编译qgis3.4.7,把编译的过程随手记录一下. QGIS项目主页:http://www.qgis.org/en/site/ QGIS源码下 ...
最新文章
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 一 )
- delimiters 插值 选项
- 在windows下将Tomcat设置为自动启动的服务
- mysql innodb 并行_关于MySQL8.0 InnoDB并行执行的详解
- android虚线边框_Android实现代码画虚线边框背景效果
- 《阿里巴巴Android开发手册》v1.0.1更新,优化部分内容和示例代码
- Matlab线性/非线性规划优化算法(2)
- python学习之面向对象学习进阶
- 七年三套房,阿里程序员炫富,努力就有回报,感谢当初的选择!
- Dbgview退出再打开无法使用的解决办法
- Mysql-索引优化
- Android-Bitmap图片优化
- zeplin 登录效果实现
- UE4 解决半透明材质显示错误
- 一生当修炼这十样品质
- 印象笔记:部分Mac用户因为故障而丢失数据
- 任何一台计算机硬件系统都是油,大学生计算机基础第一章.ppt
- Excel的一些函数操作
- 【Vectorizer.AI】免费将 JPEG 和 PNG 位图转换为 SVG 矢量图
- 计算机专业女生节祝福语,2017年女生节祝福语大全 3.7女生节祝福语微信短信推荐...