qt-C++笔记之ubuntu22.04源码安装Qt6.8.2
code review!
文章目录
- qt-C++笔记之ubuntu22.04源码安装Qt6.8.2
- 1.作者环境:ubuntu22.04、cmake20
- 2.安装
- 3.关联已安装的 Qt6 到 Qt Creator
- 4.附:ubuntu18.0的处理,可尝试,作者没有遇到这个问题
1.作者环境:ubuntu22.04、cmake20
安装包:qt-everywhere-src-6.8.2.tar.xz
下载地址:https://download.qt.io/archive/qt/6.8/6.8.2/single/
安装参考链接:https://www.ics.com/blog/how-build-qt-640-source-ubuntu-linux
Ubuntu 18.04 上安装 glibc 2.28 支持 QT6:https://xujinzh.github.io/2024/01/05/ubuntu-18-04-install-glibc2-28/index.html
2.安装
当前终端地gcc-11 g+±11设置
sudo apt update
sudo apt install gcc-11 g++-11 -y
export CC=/usr/bin/gcc-11
export CXX=/usr/bin/g++-11
安装:先在opt目录下mkdir qt6文件夹
user@vm:~/qt-everywhere-src-6.8.2/build$ 目录下执行cmake -DCMAKE_INSTALL_PREFIX=/opt/Qt6/6.8.2 \-DQT_BUILD_WEBENGINE=OFF \-DQT_BUILD_WEBCHANNEL=OFF \-DQT_BUILD_WEBVIEW=OFF \..cmake --build . -j1sudo make install
这样会把qt安装到/opt/Qt6/6.8.2中,也可以安装到别到想安装到目录中。
3.关联已安装的 Qt6 到 Qt Creator
关联已安装的 Qt6 到 Qt Creator 的方法如下:
-
打开 Qt Creator 设置
启动 Qt Creator 后,从菜单中选择
Tools(工具) → Options(选项)
在打开的对话框中点击 Build & Run(构建与运行)。 -
添加新的 Qt 版本
切换到 Qt Versions 标签页。
点击 Add 按钮(有时会标记为“添加”或加号),然后浏览到安装的 Qt6 目录下的bin
文件夹。
例如,如果将 Qt6 安装在/opt/Qt6/6.8.2
下,那么选择
/opt/Qt6/6.8.2/bin/qmake
(注意:即使 Qt6 趋向于使用 CMake 来构建,默认配置通常还会包含 qmake,用于兼容项目。如果没有生成 qmake,请确保在配置编译参数时没有禁用相关选项)。
Qt Creator 会自动检测并显示该版本的信息。 -
创建或修改 Kit
切换到 Kits 标签页。- 可以选择修改现有的桌面 Kit,或点击 Add 新增一个 Kit。
- 在 Kit 设置中,将 Qt version 选项选择为刚才添加的 Qt6 版本。
- 同时确保相应的编译器、调试器和 CMake(如果使用 CMake 项目)都配置正确。
这一步骤保证了新添加的 Qt6 版本能够应用到所选择的构建 Kit 中。
-
应用并测试
点击 Apply 或 OK 保存设置。
可以通过创建一个简单的 Qt 项目,并在项目属性中选择使用刚刚配置的 Kit 来测试 Qt6 是否正常工作。
注意:
- 如果选择了安装目录
/opt/Qt6/6.8.2
来安装 Qt6,通常需要使用sudo make install
来将文件写入该目录,确保使用管理员权限。- 如果在编译时未生成 qmake,而只生成了 CMake 构建工具相关文件,则在 Qt Creator 中使用相应的 CMake 配置即可。不过,大多数使用 Qt 的项目(尤其是通过 Qt Creator 新建的项目)依赖 qmake 来进行一些自动化设置,所以建议确保 qmake 已随 Qt6 构建并安装。
完成以上步骤后,Qt Creator 就已关联了新安装的 Qt6 环境,可以正常编译和调试基于 Qt6 开发的应用程序。
4.附:ubuntu18.0的处理,可尝试,作者没有遇到这个问题
查看系统支持的 GLIBC 版本号
ldd --version# or
strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_
安装 GLIBC 2.28
sudo su -c 'echo "deb http://security.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list' rootsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A 54404762BBB6E853sudo apt updatesudo apt install libc6 libc6-dev -y
安装成功后再次查看
ldd --version# or
strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_2.28
需要C++17,否则报下面的错:
/home/user/qt-everywhere-src-6.8.2/qtbase/src/corelib/text/qlocale_tools.cpp:21:10: fatal error: charconv: No such file or directory#include <charconv>^~~~~~~~~~
compilation terminated.