在Deepin 20.6上构建Qt 6.3.1全栈开发环境的实战指南
作为一个长期使用Deepin系统的开发者,最近需要为跨平台项目搭建Qt开发环境时,发现中文社区缺少针对Deepin 20.6的完整教程。经过三天踩坑和反复验证,终于成功配置好了支持桌面、Android和WebAssembly的全套Qt 6.3.1开发环境。本文将分享从系统准备到三大平台环境配置的完整过程,特别是那些官方文档没有提及的细节问题。
1. 系统准备与基础环境搭建
Deepin 20.6基于Debian 10,虽然预装了大部分开发工具,但Qt开发还需要补充一些关键组件。我的系统是全新安装的Deepin 20.6,内核版本5.15.32。
首先更新系统并安装基础编译工具链:
sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential libgl1-mesa-dev gdb cmake ninja-build对于Java环境,Qt Android开发需要JDK 11(不兼容更高版本):
sudo apt install -y openjdk-11-jdk验证Java版本:
java -version # 应显示11.x.x关键依赖处理:Deepin仓库缺少libxcb-util1,这是Qt运行必需的库。需要手动下载Debian bullseye的deb包:
wget http://ftp.debian.org/debian/pool/main/x/xcb-util/libxcb-util1_0.4.0-1+b1_amd64.deb sudo dpkg -i libxcb-util1_0.4.0-1+b1_amd64.deb注意:如果遇到依赖错误,可先执行
sudo apt --fix-broken install
2. Qt 6.3.1主环境安装与配置
Qt官方提供了统一的在线安装器,这是目前最推荐的安装方式。下载安装器并赋予执行权限:
wget https://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-4.4.1-online.run chmod +x qt-unified-linux-x64-4.4.1-online.run ./qt-unified-linux-x64-4.4.1-online.run安装过程中的关键选项配置:
- 安装路径:
~/Qt(避免权限问题) - 组件选择:
- Qt 6.3.1 → Desktop gcc 64-bit
- Qt 6.3.1 → WebAssembly
- Qt 6.3.1 → Android
- Developer and Designer Tools → 全选
- Additional Libraries → 按需选择
安装完成后,建议创建CMake的符号链接到系统路径:
sudo ln -s ~/Qt/Tools/CMake/bin/cmake /usr/bin/cmake输入法集成:Deepin使用fcitx框架,需要手动配置Qt6输入法插件:
- 下载预编译的fcitx4qt6插件
- 将
libfcitxplatforminputcontextplugin-qt6.so复制到:~/Qt/6.3.1/gcc_64/plugins/platforminputcontexts/~/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
验证输入法是否正常工作:
export QT_IM_MODULE=fcitx qtcreator3. Android开发环境深度配置
Qt Android开发需要完整的SDK/NDK和OpenSSL支持。在Deepin上推荐通过Android Studio安装基础组件。
安装Android Studio:
- 通过Deepin应用商店安装
- 启动后跳过项目创建,直接进入SDK Manager
必须安装的组件:
| 组件类别 | 具体项目 | 备注 |
|---|---|---|
| SDK Platforms | Android 12.0 (API 31) | 最低支持Qt 6.3.1 |
| SDK Tools | NDK (Side by side) | 推荐22.1.7171670 |
| SDK Tools | Android SDK Build-Tools | 选择33.x版本 |
| SDK Tools | Android SDK Command-line Tools | 必须安装 |
关键配置:下载专为Qt优化的OpenSSL库:
cd ~/Android/Sdk wget https://github.com/KDAB/android_openssl/archive/refs/tags/openssl_1_1_1k.zip unzip openssl_1_1_1k.zip -d android_openssl在Qt Creator中配置Android环境:
- 进入
工具 → 选项 → 设备 → Android - 设置JDK路径:
/usr/lib/jvm/java-11-openjdk-amd64 - 设置Android SDK路径:
~/Android/Sdk - 指定NDK版本:
~/Android/Sdk/ndk/22.1.7171670 - 配置OpenSSL路径:
~/Android/Sdk/android_openssl
创建Android虚拟设备时,建议选择arm64-v8a架构,API级别与编译目标一致。
4. WebAssembly开发环境搭建
Qt的WebAssembly支持需要通过Emscripten工具链实现。以下是完整配置过程:
cd ~ git clone https://github.com/emscripten-core/emsdk.git cd emsdk ./emsdk install latest ./emsdk activate latest在~/.bashrc末尾添加环境变量:
source "$HOME/emsdk/emsdk_env.sh"验证安装:
emcc --version # 应显示3.1.15或更高Qt Creator配置:
- 进入
工具 → 选项 → 设备 → WebAssembly - 指定emsdk路径:
~/emsdk - 在Kits中会自动识别Emscripten编译器
常见问题解决:
- 如果遇到
TypeError: Cannot read property 'thisProgram' of undefined错误,执行:npm install -g eslint - 内存不足时,在项目文件中添加:
QMAKE_LFLAGS += -s TOTAL_MEMORY=256MB
5. 多平台项目管理实战技巧
配置好全平台环境后,在Qt Creator中创建新项目时,建议选择CMake构建系统(Qt 6默认)。关键配置点:
Kit选择:
- Desktop Qt 6.3.1 GCC 64bit
- Android Qt 6.3.1 Clang arm64-v8a
- WebAssembly Qt 6.3.1 Emscripten
项目文件配置: 对于需要特殊配置的平台,可以在CMakeLists.txt中添加条件判断:
if(ANDROID) find_package(Qt6 REQUIRED COMPONENTS Core Gui Quick AndroidExtras) # Android特定配置 elseif(EMSCRIPTEN) set(CMAKE_EXECUTABLE_SUFFIX ".html") # WASM特定配置 endif()调试技巧:
- Android调试需要启用USB调试模式
- WebAssembly调试可在Chrome开发者工具中进行
- 跨平台代码中可使用:
#if defined(Q_OS_ANDROID) // Android专用代码 #elif defined(Q_OS_WASM) // WebAssembly专用代码 #endif
经过一周的实际项目验证,这套环境在Deepin 20.6上运行稳定。最耗时的部分是Android环境配置,特别是NDK版本与Qt的兼容性问题。建议在开始实际开发前,为每个平台创建测试项目验证基本功能。