經過命令行新建qt項目,並編譯打包

ref: https://blog.csdn.net/weixin_42837024/article/details/81945656


 

新建項目

  • 新建文件夾,做爲項目根目錄
  • 編寫main.cpp
    main.cpp
#include<QApplication>
#include<QWidget>
int main(int argc,char ** argv)
{
    QApplication app(argc,argv);
    QWidget* pWidget = new QWidget();
    pWidget->show();
    return app.exec();

}

 

 

 

  • 進入到相應的 文件夾下 輸入qmake -project 會發現文件夾下生成了平臺無關的項目文件一個XXX.pro文件(前面和文件夾名字同樣)
    • qmake -project
  • 下一步輸入 qmake XXX.pro 你要輸入對應的pro文件
    • qmake XXX.pro
    • 生成一些 makefile 文件 和 debug 和 release 文件夾(由於手寫Makefile是比較困難而且容易出錯的,尤爲是須要給不一樣的平臺和編譯器組合寫幾個Makefile。使用qmake,開發者建立一個簡單的「項目」文件而且運行qmake生成適當的Makefile。qmake會注意全部的編譯器和平臺的依賴性,能夠把開發者解放出來只關心他們的代碼

編譯

若是使用的是開源版的Qt,用make;若是是商業版的Qt,用nmakegit

  • 因此我輸入make,會 報錯 不要着急

 

由於咱們用到了QWidget 因此要在pro文件里加入 QT += widgets 而後繼續重複上一步app

  •  從新make
    •   make

 

效果如圖
spa

 

打包

不一樣平臺下的打包方式還不太同樣。可是原理是相似的,都是將 應用文件依賴的有關庫放到同級目錄下.net

  • Windows
    • 輸入命令  windeployqt XXX.exe
    • 能夠再使用  Enigma Virtual Box 將文件都打包在一塊兒
  • Linux

 1.將編譯後生成的可執行程序(如:test)複製到一個空目錄下

debug

 2.使用ldd命令查看和導出須要的庫code

在步驟1的目錄下新建一個pack.sh文件,文件內容以下:blog

#    pack.sh
#    SCHIPS
#    schips@dingtalk.com
#    https://gitee.com/schips/
#    Wed 26 Jun 2019 10:38:11 AM HKT
##
#!/bin/zsh

#你須要發佈的程序名稱
bin="test_project"

# 輸出路徑
des="./"
deplist=$(ldd $bin | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des

便可ip

相關文章
相關標籤/搜索