简 述: 有人问,DTK 怎么配置开发环境? 我头上有呆毛了,,,又水一篇,确实没想到问的人会有这么多。全文可简述为:

sudo apt install qt5-default qtcreator cmake  g++ git libdtk{core,widget,gui}-dev gammaray flameshot com.notepadqq.notepadqq tree gitg debhelper devscripts dh-make build-essential

[TOC]


本文初发于 “偕臧的小站” ifmet.cn,同步转载于此。


简版教程

更新 2021-02-22,新的 Deepin 系统,配置 dtk 编程相关环境,一个命令即可:

sudo apt install qt5-default qtcreator cmake  g++ git libdtk{core,widget,gui}-dev gammaray flameshot com.notepadqq.notepadqq tree gitg debhelper devscripts dh-make build-essential

# PS:
libdtk{core,widget,gui}-dev 可以替换为 deepin-sdk;然后再加一个 qtcreator-template-dtk 模板包

拆分说明:

DTK 开发环境:qt5-default qtcreator cmake  g++ git libdtk{core,widget,gui}-dev 
常用软件:gammaray flameshot com.notepadqq.notepadqq tree gitg
自行打包:debhelper devscripts dh-make build-essential

准备

在官网下载 uniontechos-desktop-20-professional-1030-fix_amd64 镜像(或找测试小仙女们要一个最新的),常规装系统后,顺利进入到桌面;


开启开发者模式

进入 控制中心-通用-开发者模式-进入开发者模式,激活开发者模式成功后,重启系统;


配置DTK 开发环境

将第二行的 deb-src 的注释解开,更新源(若使用内网源,下载某些软件失败,记得换源),最后外网镜像默认自带的源如下

## Generated by deepin-installer
deb [by-hash=force] https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free
deb-src [by-hash=force] https://professional-packages.chinauos.com/desktop-professional eagle main contrib non-free

看了一下,默认 gcc = 4.8.3,无 g++ 、无 cmake、无 git

# 更新源
sudo apt update

# C++ 开发环境配置好了
sudo apt install qt5-default qtcreator cmake  g++ git 

# DTK 开发环境配置好了
sudo apt install libdtkwidget-dev libdtkgui-dev libdtkcore-dev 

验证

验证 C++ 开发环境 配置是否成功:

  • QtCreator ,创建一个空的 Qt 空项目,执行运行,发现 C++ 开发环境 配置成功。


验证 DTK 开发环境 配置是否成功:

  • 执行 git clone https://github.com/linuxdeepin/dtkcore.git, 下载源码

  • 进入文件夹 dtkcore, 执行 sudo apt build-dep dtkcore 生成依赖

  • 执行 sudo apt policy libdtkcore5,看到本机显示 libdtkcore5 为 5.4.0

  • 执行 git checkout 5.4.0 切换分支

  • QtCreator 打开 dtkwidget.pro, 点击编译运行,为 DTK 开发环境 配置成功。


验证其它项目

如验证 dtkwidget 开发项目,因为其依赖于 dtkcoredtkgui,所以推荐配置其对应的 tag 这三者是一致的(一般来说,都是各自最新也不会有什么问题,向下兼容很稳定了)。

dtkwidget 若是运行在虚拟机,若是内存仅 2G,会编译失败;调整为 >= 4G 即可;若是其它项目生成项目依赖,也都是如此。

sudo apt build-dep 项目名  # 生成项目依赖

比如 dtkwidget 运行后:


命令配置更新

deepin-sdk: 虚包,相当于安装 libdtkwidget-dev libdtkgui-dev libdtkcore-dev

qtcreator-template-dtk: 是一个 QtCreator 的插件;可以直接在 IDE 中创建 DTK 的 应用程序项目(简便和检测 dtk 的开发环境是否安装成功),效果如下


个人习惯

附上个人习惯的开发环境,可自行决定:

# 商店里面安装讯飞输入法、typora、wps(或官网里面的)
sudo apt install gammaray flameshot com.notepadqq.notepadqq tree gitg

sudo apt source qt5-default    // qt源码包,此会安装在当前所处目录下,建议更换目录再执行

同时安装 dde-dock 网速插件: lfxNetlfxspeed


附:


系列地址:

QtExamples

欢迎 starfork 这个系列的 QT / DTK 学习,附学习由浅入深的目录。