QT Windows移植到Ubuntu


首先需要在Ubuntu系統中安裝和windows相同版本的QT

安裝完成之后檢查qmake是否可用。

輸入qmake -v

如果qmake可用,會提示以下信息

QMake version 3.1
Using Qt version 5.12.4 in /opt/Qt5.12.4/5.12.4/gcc_64/lib

如果不可用,在終端輸入

sudo apt-get install qt5-default

在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

最后輸入

make

工程目錄中就會出現一個新的.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  
fi  
LD_LIBRARY_PATH=$dirname  
export LD_LIBRARY_PATH  
$dirname/$appname "$@"

在腳本編輯完成之后,需要給腳本添加執行權限

之后運行pack.sh腳本就可以自動將所需的庫添加到這個文件夾中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM