前言
上一篇,是使用Qt提供的安裝包安裝的,有些場景需要使用到從源碼編譯的Qt,所以本篇如何在銀河麒麟系統V4上編譯Qt5.12源碼。
系統版本:
參考博文《獲取下載Qt安裝包,Qt源碼全國網址備忘錄(不用注冊Qt賬戶,即可下載各版本Qt安裝包和Qt源碼包)》
需要哪個版本下哪個版本,筆者經常使用得是Qt5.9和Qt5.12兩個大版本,本次下載Qt5.12.7:
&emep;
由於是自己編譯的,我們一般在可以安裝Qt版本的時候使用Qt安裝版本的QtCreator,但是在本篇文章,我們使用QtCreator也從源碼編譯,用以補全完全從源碼編譯搭建環境。
Qt5.12使用的QtCreator4.8.1,也下載QtCreator4.8.1版本的源碼:
通過以下測試,是可以直接安裝的,正常情況下我們是建議直接安裝的,需要自定義或者配置一些模塊可能需要涉及到編譯源碼,那么就可以自行編譯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
根據多年經驗,這是個至少長達半小時的過程…
make -j8
編譯完成后,如下圖:
再make,多線程編譯的時候Qt有時候有前后依賴,掛了一個線程我們也是看不到的(一下就閃過了)。
make
如下圖:
make install