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 显示:
进入这些目录,发现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 类型的项目,打开后报错:
从菜单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
待续...
学习,对新手来说太多拦路虎了。
Popular Ranking
Popular Events
1.从商店安装
2.安装后,首先尝试从终端命令窗口编译项目。新建目录,
could not find qt installation
结果显示qmake 是qtchooser 的软链接。qtchooser --help 知道了qtchooser 用来选择本机存在的多个qt版本,qtchooser -l 查看有哪些版本 -install 添加新安装的版本以及如何配置环境变量。 qtchooser -l 显示:
进入这些目录,发现qmake并不存在,真奇怪!·
我打开qt-creator 从菜单 preferrences - kits 里找到实际安装的qmake路径,并添加到qtchooser :
这次qmake -v 正常了。qmake -project 结果生成一个 “目录名.pro文件 ” ,修改pro文件,target=main (cpp源码的名字),结尾增加 QT += widgets gui
再执行qmake 生成Makefile 文件 。 再执行make编译源码,报错:
难道安装qt-creator后,还没有g++吗 ? 我打开qt-creator 菜单preferrence 查看c ++ 编译器是Clang++ ,既然creator 给我装的是clang++ ,那为什么这里要求用g++ 呢 ?
手工用apt install g++ 后再次make 成功生成可执行文件main ,运行main报错:
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 类型的项目,打开后报错:
从菜单preferrence - kits 中看到编译器的全名是 clang++-15 看来qt无法智能地匹配,我只好创建软链接,然后qt-creator成功编译项目,运行也弹窗了,但是调试窗口有2个警告:
待续...