在QT安装完成且环境配置正确,qmake可用之后,就可以开始移植Windows程序到Ubuntu

首先把vs的工程拷贝到ubuntu里面(可以用虚拟机的共享文件夹功能),把工程里面的目录Debug、GeneratedFiles、Release、Win32、x64和文件...user、...sln、...vcxproj、......filters删掉。这里根据vs版本的不同删除的文件和目录也可能不同。只要保留.h、.cpp、.qrc(没有这个文件编译出来的Qt项目会显示不了图片)、.ui文件和Resources目录就可以了。
然后进入到工程目录,及.h  .cpp .qrc文件所在的文件夹中。

qmake -project QT+=widgets

原本Window下 QT += 后面的东西都可以加上,例如 network   core gui printsupport等等

qmake

工程目录中就会出现一个新的.pro文件,此时,就可以用QtCreater打开这个工程文件了。

Linux系统下 QT程序的发布

首先和windows下发布程序一样,先release,然后到release文件夹下将可执行程序复制到目标文件夹中。

例如我release出一个test的文件,然后我将test文件复制到桌面一个叫test的新建文件夹中

然后新建pack.sh   和 test.sh 两个脚本文件

pack.sh主要用于将相应的库添加到该文件夹中,其内容如下

#!/bin/sh  
exe="test" #你需要发布的程序名称
des="/home/lcc/Desktop/test" #创建文件夹的位置
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
cp $deplist $des

test.sh 是打包完成之后,用于运行程序的脚本,其内容如下

#!/bin/sh  
appname=`basename $0 | sed s,\.sh$,,`  
dirname=`dirname $0`  
tmp="${dirname#?}"  
if [ "${dirname%$tmp}" != "/" ]; then  
dirname=$PWD/$dirname  
LD_LIBRARY_PATH=$dirname  
export LD_LIBRARY_PATH  
$dirname/$appname "$@"

在脚本编辑完成之后,需要给脚本添加执行权限

之后运行pack.sh脚本就可以自动将所需的库添加到这个文件夹中