麒麟系統開發筆記(三):從Qt原始碼編譯安裝之編譯安裝Qt5.12

21497936發表於2022-04-05

前言

  上一篇,是使用Qt提供的安裝包安裝的,有些場景需要使用到從原始碼編譯的Qt,所以本篇如何在銀河麒麟系統V4上編譯Qt5.12原始碼。

銀河麒麟V4版本

  系統版本:
在這裡插入圖片描述

Qt原始碼下載

  參考博文《 獲取下載Qt安裝包,Qt原始碼全國網址備忘錄(不用註冊Qt賬戶,即可下載各版本Qt安裝包和Qt原始碼包)
  需要哪個版本下哪個版本,筆者經常使用得是Qt5.9和Qt5.12兩個大版本,本次下載Qt5.12.7:
   在這裡插入圖片描述
   在這裡插入圖片描述
  由於是自己編譯的,我們一般在可以安裝Qt版本的時候使用Qt安裝版本的QtCreator,但是在本篇文章,我們使用QtCreator也從原始碼編譯,用以補全完全從原始碼編譯搭建環境。
  Qt5.12使用的QtCreator4.8.1,也下載QtCreator4.8.1版本的原始碼:
   在這裡插入圖片描述

在V4上測試Qt官方安裝包

  透過以下測試,是可以直接安裝的,正常情況下我們是建議直接安裝的,需要自定義或者配置一些模組可能需要涉及到編譯原始碼,那麼就可以自行編譯qt原始碼。
   在這裡插入圖片描述
   在這裡插入圖片描述
   在這裡插入圖片描述

Qt從原始碼編譯安裝

步驟一:下載解壓

   在這裡插入圖片描述

步驟二:配置Qt

  調整當前目錄:

cd /home/yang/work/src/qt-everywhere-src-5.12.7

  然後配置:

./configure -prefix /home/yang/work/qt5.12.7 \-release \-opensource \-platform linux-g++ \-make libs \-optimized-qmake \-pch \-sqlite \-qt-libjpeg \-qt-zlib \-no-opengl \-skip qt3d \-skip qtcanvas3d \-skip qtpurchasing \-no-sse2 \-no-openssl \-no-cups \-no-glib \-no-iconv \-nomake examples \-nomake tools \-skip qtvirtualkeyboard \-v

   在這裡插入圖片描述
  輸入y,開始配置:
   在這裡插入圖片描述
  此時,sqlite是由問題的,不能make,所以修改下配置問及愛你,去掉-sqlite,如下:

./configure -prefix /home/yang/work/qt5.12.7 \-release \-opensource \-platform linux-g++ \-make libs \-optimized-qmake \-pch \-qt-libjpeg \-qt-zlib \-no-opengl \-skip qt3d \-skip qtcanvas3d \-skip qtpurchasing \-no-sse2 \-no-openssl \-no-cups \-no-glib \-no-iconv \-nomake examples \-nomake tools \-skip qtvirtualkeyboard \-v

   在這裡插入圖片描述
   在這裡插入圖片描述

步驟三:編譯Qt原始碼

  根據多年經驗,這是個至少長達半小時的過程…

make -j8

   在這裡插入圖片描述
  編譯完成後,如下圖:
    在這裡插入圖片描述
  再make,多執行緒編譯的時候Qt有時候有前後依賴,掛了一個執行緒我們也是看不到的(一下就閃過了)。

make

  如下圖:
   在這裡插入圖片描述

步驟四:安裝make install

make install

   在這裡插入圖片描述

步驟五:檢查Qt使用qmake

   在這裡插入圖片描述


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010283/viewspace-2885697/,如需轉載,請註明出處,否則將追究法律責任。

相關文章