通過命令行新建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,用nmake

  • 所以我輸入make,會 報錯 不要着急

 

因為我們用到了QWidget 所以要在pro文件里加入 QT += widgets 然后繼續重復上一步

  •  重新make
    •   make

 

效果如圖

 

打包

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

  • Windows
    • 輸入命令  windeployqt XXX.exe
    • 可以再使用  Enigma Virtual Box 將文件都打包在一起
  • Linux

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

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

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

#    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

即可

 

 


免責聲明!

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



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