网站建设毕业设计目录,怎么选择网站模板,网络运营是什么工作,房产信息查询平台目录
1.环境和工具
2.CMake编译
3.查找依赖文件
3.1.windeployqt
3.2.dumpbin
4.总结
相关链接 QSimpleUpdater#xff1a;解锁 Qt 应用自动更新的全新姿势-CSDN博客 1.环境和工具 windows 11, x64 Qt5.12.12或Qt5.15.2 CMake 4.0.2 干净的windows 7#xff0c;最好是…目录
1.环境和工具
2.CMake编译
3.查找依赖文件
3.1.windeployqt
3.2.dumpbin
4.总结
相关链接 QSimpleUpdater解锁 Qt 应用自动更新的全新姿势-CSDN博客 1.环境和工具 windows 11, x64 Qt5.12.12或Qt5.15.2 CMake 4.0.2 干净的windows 7最好是用windows7的iso安装出来的 虚拟机VirtualBox Everything 2.CMake编译
进入QSimpleUpdater的源码目录新建build文件夹 进入build目录执行命令
cmake ../ 出现报错需要设置一下Qt的目录因为cmake找不到Qt在哪里配置并重新执行命令 生成VS2022工程成功 你可以用VS2022打开QSimpleUpdater.sln工程全部编译就会生成库文件和测试执行文件当然也可以直接用CMake去编译如下 于是在build目录下的Release中生成了目标文件 直接运行UnitTests.exe出现 3.查找依赖文件
3.1.windeployqt
在命令行模式进入C:\Qt\5.12.12\msvc2019_64\bin然后运行 然后在UnitTests.exe的目录下查找到Qt的库依赖 从截图可以看到用这个工具只能查找Qt的依赖系统的一些依赖是不能打包进去的
然后把这个程序打包放到干净的win7下面运行报错 说明安装包里面少了一些依赖库。
3.2.dumpbin Dumpbin是Windows环境下用于分析可执行文件内部结构的命令行工具由Microsoft Visual C提供。它能够揭示二进制文件的详细内容如导出函数、导入函数、资源等特别有助于调试DLL。主要功能包括
查看文件头信息包含 PE 文件结构、子系统、DLL 特性等分析导出表列出 DLL 中导出的函数和变量分析导入表显示程序依赖的外部函数和 DLL依赖分析检查二进制文件依赖的所有动态链接库符号表查看显示 COFF 符号表信息用于调试和链接分析资源查看查看二进制文件中包含的资源图标、菜单、字符串等
dumpbin.exe在vs2022的安装目录下C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
从开始进去中的Visual Studio 2022菜单下 在命令行中输入dumpbin会出现 继续在命令行中输入 可以看到UnitTests.exe的依赖库可以看到除了Qt的库外还有一些系统的库通过Everything软件查找的库大致在两个地方 依次从这两个目录中把上面依赖的文件拷贝到打包目录中然后打包再把打包的程序放在win7上面去运行 还是报错误找不到MSVCP140.dll于是又在原来的电脑上查找库MSVCP140.dll拷贝到win7上 拷贝MSVCP140.dll到win7上运行程序 报错了程序崩溃了。
在网上查找了一下原因 0xc000007b 表示 “应用程序无法正常启动”通常是因为缺少 UCRT 或运行时库。 0xc0000135 表示 “找不到 DLL”需检查依赖的 DLL 是否在系统中存在。 于是又把目录C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Remote Debugger\x64目录里面的文件全部拷贝过去把比较明显不需要的删掉。 拷贝到win7,运行报如下错误 还是缺少msvcp140_1.dll于是查找到该文件 拷贝到win7,运行 终于可以运行正常输出结果了
4.总结
1.在windows发布程序一定要在一个干净的环境下去测试程序是否能运行比如win7如果在干净的win7能运行那基本上在win7之后的版本应该都能运行。
2.查找程序依赖vs2022编译出来的程序依赖的库一般都去vs2022的安装目录里面去找会比较快。
3.好好的利用Everything工具用它查找真是快。
相关链接
CMake 官网 https://cmake.org/CMake 官方文档https://cmake.org/cmake/help/latest/guide/tutorial/index.htmlCMake 源码https://github.com/Kitware/CMakeCMake 源码 : CMake · GitLab中文版基础介绍: CMake 入门实战 | HaHackwiki: Home · Wiki · CMake / Community · GitLab