发布qt程序

3 篇文章 0 订阅

原创文章点击这里

1 ubuntu

参考这里

  1. 编译release版的源代码,生成对应的文件夹,如:

    build-xxx-Release
    
  2. 在其他地方创建最终存放的文件夹,如 xxx_tool

  3. 在 build-xxx-Release 文件夹中创建 copylib.sh 脚本,内容复制下面的:

    #!/bin/bash
    
    LibDir=$PWD"/lib"
    Target=$1
    
    lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
    
    $(mkdir $LibDir)
    
    for Variable in ${lib_array[@]}
    do
        cp "$Variable" $LibDir
    done
    
  4. 执行命令:./copylib.sh xxx,其中 xxx 为该目录下对应的二进制文件名,执行后会生成 lib 文件夹;

  5. 将 build-xxx-Release 中的 lib/*xxx 复制到 xxx_tool 中;

  6. 把 Qt 安装目录下的 platforms 文件夹整体复制导 xxx_tool 中,命令如下:

    cp ~/Qt5.7.1/5.7/gcc_64/plugins/platforms ~/xxx_tool/. -rf
    
  7. 把前面的 copylib.sh 脚本复制到 xxx_tool/platforms/ 目录下,并在该目录下执行:./copylib.sh libqxcb.so,会在此生成一个 lib 文件夹;

  8. xxx_tool/platforms/lib/* 移动到 xxx_tool/ 即可,这一步已经把所有需要的库都复制完了;

  9. xxx_tool/ 中创建 xxx.sh 脚本,内容复制下面:

    #!/bin/sh
    appname=`basename $0 | sed s,\.sh$,,`
    
    dirname=`dirname $0`
    tmp="${dirname#?}"
    
    if [ "${dirname%$tmp}" != "/" ]; then
    dirname=$PWD/$dirname
    fi
    LD_LIBRARY_PATH=$dirname
    export LD_LIBRARY_PATH
    $dirname/$appname "$@"
    
  10. 最后,运行 ./xxx.sh 即可运行程序;

2 windows

  1. 编译release版的源代码,生成对应文件夹,如:

    build-picturelabel-Desktop_Qt_5_8_0_MSVC2015_64bit-Release
  2. 进入上面的文件夹,在进入子文件夹 release,把对应的 .exe 文件复制到要发布的文件夹中,如:D:/tool/
  3. 在“开始”界面中打开qt的命令行程序:Qt 5.8 64-bit for Desktop,执行命令:
cd D:/tool
windeployqt xxx.exe
  1. 在系统的环境变量删除opencv、boost等库的路径(路径先保存,还要恢复),然后运行一下发布的这个应用程序,如果提示缺少dll文件,就去库里找到这个dll文件,把它复制到应用程序的根目录即可,复制完所有dll文件后,基本上可以正常运行,然后在把刚刚删除的环境变量恢复!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值