[Exchange and share] 记录我从商店使用qt-creator过程
Tofloor
poster avatar
安全第一
deepin
2024-05-26 18:37
Author

1.从商店安装

2.安装后,首先尝试从终端命令窗口编译项目。新建目录,

 cd hello
 
 vi main.cpp

 qmake -project 报错:

could not find qt installation

ls -l /usr/bin/qmake

结果显示qmake 是qtchooser 的软链接。qtchooser --help 知道了qtchooser 用来选择本机存在的多个qt版本,qtchooser -l 查看有哪些版本 -install 添加新安装的版本以及如何配置环境变量。 qtchooser -l 显示:

  • qt4
  • qt5
  • qt4-x86_64-linux-gnu
  • qt5-x86_64-linux-gnu

进入这些目录,发现qmake并不存在,真奇怪!·

我打开qt-creator 从菜单 preferrences - kits 里找到实际安装的qmake路径,并添加到qtchooser :

qtchooser -install 自定义名字 /opt/deepin-shared-libs/Qt5.15.10gles/bin/qmake

export QT_SELECT=自定义名字  (临时的,最好配置到profile文件)

这次qmake -v 正常了。qmake -project 结果生成一个 “目录名.pro文件 ” ,修改pro文件,target=main (cpp源码的名字),结尾增加 QT += widgets gui

再执行qmake 生成Makefile 文件 。 再执行make编译源码,报错:

Project ERROR: Cannot run compiler 'g++'. Maybe you forgot to setup the environment

难道安装qt-creator后,还没有g++吗 ? 我打开qt-creator 菜单preferrence 查看c ++ 编译器是Clang++ ,既然creator 给我装的是clang++ ,那为什么这里要求用g++ 呢 ?

手工用apt install g++ 后再次make 成功生成可执行文件main ,运行main报错:

error while loading shared libraries: libicui18n.so.63: cannot open shared object file

ldd main 还能发现几个类似的63版本号的动态依赖库找不到。

经查该包是libicu-dev 用于支持unicode字符。我查询deepin23系统中有这个包,只是版本更新。dpkg -L libicu-dev 并发现deepin23中该包软链接到 libicui18n.so.74.2 。

难道只能下载63版本的源码自己编译吗 ?

幸好我从deepin20中发现了63版,直接复制 xxx.so.63 到 v23系统中相同目录即可。

再次运行main可执行文件,成功弹窗。

3.尝试启动qt-creator 新建qt-widgets 类型的项目,打开后报错:

qt.jpg

从菜单preferrence - kits 中看到编译器的全名是 clang++-15 看来qt无法智能地匹配,我只好创建软链接,然后qt-creator成功编译项目,运行也弹窗了,但是调试窗口有2个警告:

qt.qpa.plugin: Could not find the Qt platform plugin "dxcb" in "/opt/deepin-shared-libs/Qt5.15.10gles/plugins/platforms"
libEGL warning: DRI2: failed to authenticate
MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER)
libEGL warning: egl: failed to create dri2 screen

待续...

Reply Favorite View the author
All Replies
明天会更好
deepin
2024-05-26 19:38
#1

学习,对新手来说太多拦路虎了。

Reply View the author
dgmenghuan
deepin
2024-05-27 09:09
#2

tail

Reply View the author