自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 Ubuntu Linux 上從源代碼構(gòu)建 Qt 6.2.2

系統(tǒng) Linux
在這篇文章中我提供有關(guān)在 Ubuntu Linux 上從源代碼構(gòu)建 Qt 6.2.2的簡短教程。

 Qt 6.2.0 是 Qt 6 系列的第3個版本,功能與 Qt 5 相當(dāng),因此有望成為第一個被新 Qt 項目或從 Qt 5 移植的項目廣泛采用的版本。在這篇文章中我提供有關(guān)在 Ubuntu Linux 上從源代碼構(gòu)建 Qt 6.2.2的簡短教程。

Ubuntu Desktop Linux 是使用最廣泛的桌面 Linux 發(fā)行版之一,在撰寫本文時,20.04.3 版是最新的長期支持 (LTS) 版本。雖然您可以使用 Qt 維護工具下載預(yù)編譯的 Qt 6.2.0 二進制文件,但出于多種原因,您可能更希望從源代碼構(gòu)建它:

  1.  您可能不想使用 Qt 維護工具或創(chuàng)建運行它所需的 Qt 帳戶。
  2.  您希望生成自己的二進制文件,而不是 Qt 公司提供的二進制文件。
  3.  您希望在構(gòu)建中包含一些源代碼補丁或其他更改。
  4.  您想根據(jù)需要自定義配置。
  5.  您想更好地了解從源代碼構(gòu)建 Qt 的過程。

一些警告。首先,這些說明僅適用于 Ubuntu Desktop Linux 20.04.3 LTS。雖然過程應(yīng)該是相似的,但其他 Ubuntu 版本或 Linux 發(fā)行版的依賴項和命令會有所不同。其次,我還沒有啟用所有 Qt 功能。某些功能可能需要安裝額外的第三方依賴項才能在配置中啟用。第三:構(gòu)建需要一些時間(通常是幾個小時),具體取決于構(gòu)建機器上可用的 CPU 內(nèi)核的速度和數(shù)量。

準備

要從源代碼構(gòu)建所有 Qt,您需要至少 30GB 的可用磁盤空間,最好至少有 16GB 的虛擬內(nèi)存 (RAM),尤其是在構(gòu)建 qtwebengine 時。

有許多第三方庫和命令的依賴項。此命令應(yīng)安裝必要的軟件包: 

  1. sudo apt install bison build-essential clang flex gperf \  
  2. libatspi2.0-dev libbluetooth-dev libclang-dev libcups2-dev libdrm-dev \  
  3. libegl1-mesa-dev libfontconfig1-dev libfreetype6-dev \  
  4. libgstreamer1.0-dev libhunspell-dev libnss3-dev libopengl-dev \  
  5. libpulse-dev libssl-dev libts-dev libx11-dev libx11-xcb-dev \  
  6. libxcb-glx0-dev libxcb-icccm4-dev libxcb-image0-dev \  
  7. libxcb-keysyms1-dev libxcb-randr0-dev libxcb-render-util0-dev \  
  8. libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev \  
  9. libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb1-dev \  
  10. libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev \  
  11. libxfixes-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev \  
  12. libxkbfile-dev libxrandr-dev libxrender-dev libxshmfence-dev \  
  13. libxshmfence1 llvm ninja-build nodejs python-is-python2 python2 

Qt 6 現(xiàn)在使用cmake來構(gòu)建 Qt,一個問題是 Qt 6.2.0 需要cmake 3.19 或更高版本,但 Ubuntu 20.04 只提供 3.16 版本。我選擇從源代碼構(gòu)建最新版本的cmake(在撰寫本文時為 3.21.2),使用這些命令只花了幾分鐘: 

  1. wget https://github.com/Kitware/CMake/releases/download/v3.21.2/cmake-3.21.2.tar.gz  
  2. tar xf cmake-3.21.2.tar.gz  
  3. cd cmake-3.21.2  
  4. ./configure  
  5. make  
  6. sudo make install  
  7. cd ..  
  8. rm -rf cmake-3.21.2 

或者你也可以使用snap安裝,也將得到最新版本。

sudo snap install cmake

這會將較新的cmake安裝在 /usr/local/bin 中,即使您的 Ubuntu 安裝中存在較舊的版本,Qt 構(gòu)建也應(yīng)該在該位置獲取它。

構(gòu)建

我們現(xiàn)在準備構(gòu)建 Qt。首先,讓我們獲取源代碼: 

  1. wget https://download.qt.io/official_releases/qt/6.2/6.2.2/single/qt-everywhere-src-6.2.2.tar.xz 

下載后從存檔中提取它:

tar xf qt-everywhere-src-6.2.2.tar.xz

cd qt-everywhere-src-6.2.2

現(xiàn)在配置,指定安裝位置。我選擇安裝在/usr/local/Qt6。如果您安裝了其他 Qt 版本,它們通常會放在 /usr/local/Qt 中,因此這不會與它們沖突。

./configure -prefix /usr/local/Qt6

這將需要一些時間,但如果存在所有必需的依賴項,應(yīng)該會成功。

如果需要,可以配置或啟用更多功能,例如數(shù)據(jù)庫插件。

我們現(xiàn)在已準備好構(gòu)建,這需要一些時間:

cmake --build .

如果它成功完成,我們現(xiàn)在可以將它安裝在 /usr/local/Qt6 中:

sudo cmake --install .

我們還想為 Qt Assistant 構(gòu)建文檔:

cmake --build . --target docs

然后安裝文檔:

sudo cmake --build . --target install_docs

您現(xiàn)在可以刪除源和構(gòu)建目錄。/usr/local/Qt6 中的實際安裝大小應(yīng)該約為 1 GB。

測試

安裝后,您可以對安裝進行一些基本檢查:

運行 Qt Designer (/usr/local/Qt6/bin/designer) 并驗證是否出現(xiàn)。

將您的 Qt Creator IDE 配置為指向 nwq Qt 6 版本并測試您是否可以編譯和運行您自己的一些代碼。

概括

我希望你發(fā)現(xiàn)本教程有用。我鼓勵您嘗試從源代碼構(gòu)建 Qt 6,如果只是為了了解有關(guān)該過程的更多信息。如果您必須為 Qt 的維護工具不直接支持的平臺(例如不太常見的 Linux 發(fā)行版或嵌入式平臺)構(gòu)建 Qt,則知道如何執(zhí)行此操作是一項有用的技能。您可以在此處了解有關(guān) Qt 6 的更多信息。 

 

責(zé)任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2021-09-11 15:41:55

UbuntuDropbox云服務(wù)

2017-03-29 16:18:11

LinuxUbuntuRedmine

2021-07-12 14:47:16

UbuntuZlib代碼

2017-03-07 13:36:48

源代碼Tomcat開源

2022-10-24 08:01:11

2017-02-09 09:30:18

UbuntuDokuWikiApache

2020-03-20 18:19:05

UbuntuLinuxNetbeans

2014-03-31 09:45:33

Ubuntu LinuUbuntu 13.1

2014-05-07 09:56:48

Docker管理Linux容器

2020-04-08 12:20:25

UbuntuLinuxOracle Java

2020-03-24 07:00:00

UbuntuLinuxNetbeans

2021-03-07 11:46:02

UbuntuLinuxErlang

2021-06-15 09:46:43

UbuntuLinuxCode Blocks

2020-10-06 18:55:16

Ubuntu LinuIPv6網(wǎng)絡(luò)協(xié)議

2019-08-02 15:30:42

UbuntuMongoDB命令

2020-11-02 10:38:05

UbuntuLinux

2017-04-19 22:00:40

UbuntuLinux Mint桌面共享

2020-04-23 08:55:01

LinuxGradle工具

2010-06-03 10:15:35

2019-08-30 11:20:28

UbuntuVirtualBoxLinux
點贊
收藏

51CTO技術(shù)棧公眾號