在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-1b1_amd64.deb sudo dpkg -i libxcb-util1_0.4.0-1b1_amd64.deb注意如果遇到依赖错误可先执行sudo apt --fix-broken install2. 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-bitQt 6.3.1 → WebAssemblyQt 6.3.1 → AndroidDeveloper 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_MODULEfcitx qtcreator3. Android开发环境深度配置Qt Android开发需要完整的SDK/NDK和OpenSSL支持。在Deepin上推荐通过Android Studio安装基础组件。安装Android Studio通过Deepin应用商店安装启动后跳过项目创建直接进入SDK Manager必须安装的组件组件类别具体项目备注SDK PlatformsAndroid 12.0 (API 31)最低支持Qt 6.3.1SDK ToolsNDK (Side by side)推荐22.1.7171670SDK ToolsAndroid SDK Build-Tools选择33.x版本SDK ToolsAndroid 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_MEMORY256MB5. 多平台项目管理实战技巧配置好全平台环境后在Qt Creator中创建新项目时建议选择CMake构建系统Qt 6默认。关键配置点Kit选择Desktop Qt 6.3.1 GCC 64bitAndroid Qt 6.3.1 Clang arm64-v8aWebAssembly 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的兼容性问题。建议在开始实际开发前为每个平台创建测试项目验证基本功能。