在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
使用教程: https://b23.tv/av52111697/p1 一开始是想通过环境变量获取dll的目录,以及通过user文件或者pro文件得到需要的dll 然后分析路径什么的 但是发现在调试程序时常常会出现dll的绝对路径,于是查找这方面的资料 这个的所有的核心在于void Widget::getPeDependDllInfo(const QString& aimexeName)这个函数 会得到所有的依赖的dll的绝对路径,但是也包括一些注入的dll比如毒霸或者搜狗, 如果pc裸奔的话应该就不会包括这个 时间不多,所以功能比较生硬,可能也没有debug 但是直接使用的话也是可以的,一个简单的Qt程序如果没有第三方库的话可以直接使用, 比较复杂的话,建议clone之后作一下修改,当然以后我也可能会尽量把它修改的更好。 ========================================================================================== 只拣选复制Qt的依赖,另外关于全选的有bug,下次再改 ========================================================================================== 应该算是已经全部完成了,勾选会起作用,全选的话就是全选,另外也列出了所有的依赖库的位置信息 把qt的放置在最前 其次可能是需要的第三方库 或者被其他诸如安全软件注入到目标exe的依赖, Windows相关的放置在最后,因为一般不需要拷贝。 ========================================================================================== 注意用msvc版本qt时 打包可能需要msvcxxx.dll(msvcr100.dll) 这需要在列表中自行选择 如缺少也会 出现部署后打不开的情况 ========================================================================================== 凡是使用了 QApplication::setLibraryPaths(); QApplication::addLibraryPath(); 等设置路径的函数 均会导致使用工具后依然部署失败的情况 如有 请自行解决 另外win10-部署->低于win10 会很大几率出现错误 这种情况是系统兼容上的错误 请在对应系统上编译要部署的程序 低于win10---部署-->win10 则不会出现错误 具体自行了解关于兼容的问题 使用说明 1. vs环境请用vs编译源码生成工具,mingw环境请用mingw编译源码生成工具 2. 因为不是直接解析静态EXE文件,所以需要先将要打包的xxx.EXE运行起来,这样才可以获取到dll相关信 息.直接在输入框内输入xxx.exe即可.不需要带上路径. 3. 点击获取dll信息就可以,获得xxx.exe所依赖的dll. 4. 依据所需要的dll在列表中选取,也可全选,但是有不少是不需要的,请谨慎 5. 点击复制即可 6. 复制后会在exe所在的目录生成一个QtRelease的目录,所有的dll会复制在这里,但是exe没有复制进来 所以最后的,请自行将exe复制进,即打包完毕. 可以的话根据git地址给我一颗星星吧 非常感谢. ========================================================================================== 使用如遇bug可以通过github或者我邮箱告知我。 logo from https://www.iconfont.cn/search/index?q=qtsfkuan |
请发表评论