C++学习笔记(八) - Qt 发布(动态链接发布)

2017-05-12  本文已影响54人  Savior2016

参考文献:Machii
系统版本:Ubuntu 14.04 LTS
Qt开发完成之后,需要拿到没有Qt环境的的系统上运行,需要对其进行发布.发部分为动态发布和静态发布.

1 生成Release版本程序

QtCreate使用Release进行编译,将编译出的可执行程序拷贝到一个单独的目录,例如我放在了桌面的SCserverV1.0文件夹中.

2 准备动态库

可以使用ldd命令查看,用法:
首先cd到可执行程序所在路径下,然后
ldd <可执行程序>
例如:

ldd 用法.png

下面是一个脚本,可以自动查找所需的动态库并复制到制定目录下:

#!/bin/sh  
    

    DIR="$( cd "$( dirname "$0"  )" && pwd  )"  
    
    exe="scsmart1.0" #发布的程序名称  
    des=$DIR #你的路径  
      
    deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
    sudo cp $deplist $des  

新建lddcp.sh,将上述内容复制进去,保存.
打开一个终端,在lddcp.sh所在目录下,执行命令:

chmod +x lddcp.sh #赋予其执行权限
sudo ./lddcp.sh 执行脚本

然后把整个文件夹复制到另一台Ubuntu上执行了

3 配置动态库路径

在终端中打开可执行程序所在路径,输入:

export  LD_LIBRARY_PATH=<动态库路径>:$LD_LIBRARY_PATH

可以将此条内容写入.bashrc,这样就不用每次打开终端都设置路径了.

cd ~
gedit ~/.bashrc

然后写入上面那句话.

$4 执行
赋予可执行程序可执行权限:

chmod +x SCserver1_0

然后执行:

./SCserver1_0
上一篇 下一篇

猜你喜欢

热点阅读