zoukankan      html  css  js  c++  java
  • qt windows下执行exe程序 windeployqt使用方法

    转载: https://blog.csdn.net/sinat_36264666/article/details/73305712

    Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。

    因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。

    问题的提出


    既然是要发布自己的程序,那么就需要,在Release中编译运行。具体方法如下图所示。

    1.点击qt界面左下角的图标;

    2.选择Release;

    3.点击编译运行即可;
     

    生成的程序运行正常之后,找到项目的生成目录。比如,项目源码路径:
    D:OutPutResultQtWorkPlaceDiyName
    它的项目生成目录是:
    D:OutPutResultQtWorkPlaceuild-DiyName-Desktop_Qt_5_8_0_MinGW_32bit-Release

    我们可以发现,此时点击.exe文件是会出问题的,解决办法如下。

    使用windeployqt工具,进行打包发布

    1.首先进入上图中这个文件夹,在里面,找到 DiyName.exe,将这个.exe 复制到一个新的单独的文件夹里用于发布,比如存到 :
    D:OutFaBu 文件夹里面。

     

    此时,这个文件只一个有刚刚从release文件夹下,复制过来的.exe文件。

    2.以官方 Qt 5.8.0+MinGW 开发环境为例,
    从开始菜单--》Qt 5.8.0--》5.8--》MinGW5.3.0 (32-bit)--》Qt 5.8 for Desktop (MinGW 5.3.0 32 bit)

    可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。

    3.然后从开始菜单打开 Qt 命令行,输入命令 :
    cd /d D:OutFaBu
    然后使用 windeployqt 工具命令:
    windeployqt DiyName.exe

    【注意】D:OutFaBu和DiyName.exe都是本人自己创建和生成的文件,读者根据自己情况自行修改,切勿直接复制粘贴

    4.运行完成

    此时,我们可以发现在刚刚创建的新文件夹D:OutFaBu中生成许多文件和 dll文件、qm文件,这时候得到的就完整的 exe程序发布集合,依赖关系都解决好了。此时点击DiyDame.exe文件就可完美的运行。

    将整个文件夹压缩打包就可以发布了,可以给其他电脑使用,是不是很方便。
     

     运行是可以正常运行了,效果和linux下运行的一样,只是觉得大小挺大的,47M左右。linux下才380K。。。对比之后发现大了不止120倍。。。

    懒惰不会让你一下子跌到 但会在不知不觉中减少你的收获; 勤奋也不会让你一夜成功 但会在不知不觉中积累你的成果 越努力,越幸运。
  • 相关阅读:
    CGO入门和OCR文字识别(非第三方API,有源码,效果好)实战
    Golang中如何正确的使用sarama包操作Kafka?
    音量强度转分贝db
    ShowDialog()弹出的窗体,关闭后,主窗体会闪烁的BUG
    小鱼提问3 static方法中可以访问某个类的私有变量吗(不通过反射的其他非正常手段)?什么情况下可以?
    “-="的陷阱
    c++ 从一个BYTE[] *filePtr 追加二进制文件
    Android解决程序切换后台被干掉,恢复状态问题
    Cookie
    dede后台搜索标签
  • 原文地址:https://www.cnblogs.com/Rainingday/p/12667835.html
Copyright © 2011-2022 走看看