news 2026/4/28 17:02:27

在Deepin 20.6上,我这样一步步装好了Qt 6.3.1和全套开发环境(含Android/WebAssembly)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Deepin 20.6上,我这样一步步装好了Qt 6.3.1和全套开发环境(含Android/WebAssembly)

在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输入法插件:

  1. 下载预编译的fcitx4qt6插件
  2. libfcitxplatforminputcontextplugin-qt6.so复制到:
    • ~/Qt/6.3.1/gcc_64/plugins/platforminputcontexts/
    • ~/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

验证输入法是否正常工作:

export QT_IM_MODULE=fcitx qtcreator

3. Android开发环境深度配置

Qt Android开发需要完整的SDK/NDK和OpenSSL支持。在Deepin上推荐通过Android Studio安装基础组件。

安装Android Studio

  • 通过Deepin应用商店安装
  • 启动后跳过项目创建,直接进入SDK Manager

必须安装的组件:

组件类别具体项目备注
SDK PlatformsAndroid 12.0 (API 31)最低支持Qt 6.3.1
SDK ToolsNDK (Side by side)推荐22.1.7171670
SDK 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环境:

  1. 进入工具 → 选项 → 设备 → Android
  2. 设置JDK路径:/usr/lib/jvm/java-11-openjdk-amd64
  3. 设置Android SDK路径:~/Android/Sdk
  4. 指定NDK版本:~/Android/Sdk/ndk/22.1.7171670
  5. 配置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配置:

  1. 进入工具 → 选项 → 设备 → WebAssembly
  2. 指定emsdk路径:~/emsdk
  3. 在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的兼容性问题。建议在开始实际开发前,为每个平台创建测试项目验证基本功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 17:02:01

Mysql的快速安装与基本配置(Centos)

1.关闭防火墙systemctl stop firewalld systemctl disable firewalld2.安装Mysql依赖包yum install -y libaio numactl-libs##libaio:支持异步I/O操作,Mysql运行必需 ##numactl:优化多核cpu内存分配(非必需,但建议安装)3.创建专用…

作者头像 李华
网站建设 2026/4/28 17:00:54

计算机网络期末小小知识点之IP首部:从底层原理到实战解析

计算机网络期末小小知识点之IP首部:从底层原理到实战解析作者:培风图南以星河揽胜 发布时间:2026-04-26 标签:计算机网络、IP协议、IPv4、期末复习、CSDN博客、网络基础前言:为什么IP首部是期末考试的“必杀技”&#…

作者头像 李华
网站建设 2026/4/28 16:59:57

10分钟构建黑苹果EFI:OpCore-Simplify的智能配置革命

10分钟构建黑苹果EFI:OpCore-Simplify的智能配置革命 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为黑苹果配置的繁琐流程而头疼吗…

作者头像 李华
网站建设 2026/4/28 16:56:22

爬虫踩坑日记:我的糖豆视频项目如何快速触发反爬并被封IP?

从糖豆视频爬虫失败案例看反爬机制实战解析 那天下午,我盯着屏幕上那个刺眼的403 Forbidden错误提示,意识到自己精心设计的爬虫脚本又一次败给了糖豆视频的反爬系统。作为一名有三年爬虫经验的开发者,这种挫败感既熟悉又令人沮丧。但正是这次…

作者头像 李华