当前位置: 首页 > 科技观察

如何在UbuntuLinux上从源代码构建Qt6.2.2

时间:2023-03-22 15:21:33 科技观察

Qt6.2.0Qt6.2.0是Qt6系列的第三个版本。移植项目的广泛采用版本。在这篇文章中,我提供了一个关于在UbuntuLinux上从源代码构建Qt6.2.2的简短教程。UbuntuDesktopLinux是使用最广泛的桌面Linux发行版之一,在撰写本文时,版本20.04.3是最新的长期支持(LTS)版本。虽然您可以使用Qt维护工具下载预编译的Qt6.2.0二进制文件,但出于多种原因,您可能更愿意从源代码构建它:您可能不想使用Qt维护工具或创建运行它所需的Qt帐户。您想要生成自己的二进制文件,而不是Qt公司提供的二进制文件。您希望在您的构建中包含一些源代码补丁或其他更改。您希望根据需要自定义配置。您想更好地了解从源代码构建Qt的过程。一些警告。首先,这些说明仅适用于UbuntuDesktopLinux20.04.3LTS。虽然过程应该相似,但依赖项和命令会因其他Ubuntu版本或Linux发行版而异。其次,我还没有启用所有Qt功能。某些功能可能需要安装额外的第三方依赖项才能在配置中启用。第三:构建需要一些时间(通常为数小时),具体取决于构建机器上可用的CPU内核的速度和数量。准备好从源代码构建所有Qt,您需要至少30GB的可用磁盘空间和最好至少16GB的虚拟内存(RAM),尤其是在构建qtwebengine时。有很多第三方库和命令的依赖。此命令应安装必要的软件包:sudoaptinstallbisonbuild-essentialclangflexgperf\libatspi2.0-devlibbluetooth-devlibclang-devlibcups2-devlibdrm-dev\libegl1-mesa-devlibfontconfig1-devlibopenfreetype6-dev\libgstreamer1.0-devlibhunspell-devlibglnss3-dev\-devlibssl-devlibx11-devlibx11-xcb-dev\libxcb-glx0-devlibxcb-icccm4-devlibxcb-image0-dev\libxcb-keysyms1-devlibxcb-randr0-devlibxcb-render-util0-dev\libxcb-shape0-devlibxcb-shm0-devlibxcb-sync-devlibxcb-util-dev\libxcb-xfixes0-devlibxcb-xinerama0-devlibxcb-xkb-devlibxcb1-dev\libxcomposite-devlibxcursor-devlibxdamage-devlibxext-dev\libxfixes-devlibxi-devlibxkbk1common-common-demonv-devlibxdevxrandrender-dev\libxshmfence1llvmninja-buildnodejspython-is-python2python2Qt6现在使用cmake构建Qt,一个问题是Qt6.2.0需要cmake3.19或更高版本,而Ubuntu20.04只提供了3.16版本。我选择从源代码构建最新版本的cmake(撰写本文时为3.21.2),使用这些命令只花了几分钟:wgethttps://github.com/Kitware/CMake/releases/download/v3.21.2/cmake-3.21.2.tar.gztarxfcmake-3.21.2.tar.gzcdcmake-3.21.2./configuremakesudomakeinstallcd..rm-rfcmake-3.21.2或者你也可以使用snapinstall你也会得到最新的版本。sudosnapinstallcmake这将在/usr/local/bin中安装较新的cmake,即使您的Ubuntu安装中存在旧版本,Qt构建也应该在那里选择它。构建我们现在准备构建Qt。首先我们获取源码:wgethttps://download.qt.io/official_releases/qt/6.2/6.2.2/single/qt-everywhere-src-6.2.2.tar.xz下载并解压存档:tarxfqt-everywhere-src-6.2.2.tar.xzcdqt-everywhere-src-6.2.2现在配置并指定安装位置。我选择安装在/usr/local/Qt6。如果您安装了其他Qt版本,它们通常放在/usr/local/Qt中,因此不会与它们发生冲突。./configure-prefix/usr/local/Qt6这需要一些时间,但如果所有必需的依赖项都存在,应该会成功。如果需要,可以配置或启用其他功能,例如数据库插件。我们现在准备好构建,这需要一些时间:cmake--build。如果它成功完成,我们现在可以将它安装在/usr/local/Qt6中:sudocmake--install。我们还想为QtAssistant文档构建:cmake--build。--targetdocs然后安装文档:sudocmake--build。--targetinstall_docs您现在可以删除源目录和构建目录。/usr/local/Qt6中的实际安装大小应该在1GB左右。测试安装后,您可以对安装进行一些基本检查:运行QtDesigner(/usr/local/Qt6/bin/designer)并验证它是否出现。配置您的QtCreatorIDE以指向nwqQt6版本并测试您是否可以编译和运行您自己的一些代码。总结希望本教程对您有用。我鼓励您尝试从源代码构建Qt6,即使只是为了了解更多有关该过程的信息。如果您必须为Qt维护工具不直接支持的平台(例如不太常见的Linux发行版或嵌入式平台)构建Qt,那么知道如何执行此操作是一项有用的技能。您可以在此处了解有关Qt6的更多信息。