Qt的安装和使用中的常见问题(简略版)

对于喜欢研究细节的朋友,可参考Qt的安装和使用中的常见问题(详细版)

目录


## 1、引入
安装和使用Qt的常见问题解答。
这个版本是简略版,适合需要马上解决问题的朋友。对于喜欢研究细节的朋友,可参考[Qt的安装和使用中的常见问题(详细版)](https://www.cnblogs.com/xia-weiwen/p/10074882.html)。

## 2、Qt简介
Qt是一款基于C++的跨平台开发框架。

注意区分概念:QtCreator是IDE,跟Qt不是同一个概念。

## 3、Qt版本
版本查看、切换等。

### 3.1 查看安装的Qt版本
如果有QtCreator,那么打开,依次点击:菜单栏 -> 工具(Tools) -> 选项(options)。弹出的对话框,左侧边栏里,选中“构建与运行(Build & Run)”,右侧查看构建套件(kit)标签里的默认Qt版本。
Qt版本是由qmake决定的。知道qmake的版本等于知道使用哪个版本的Qt。反过来,你要使用哪个版本的Qt,就去找对应的qmake。

### 3.2 查看当前项目使用的Qt版本
在QtCreator里打开这个项目,然后在最左侧的栏目里,切换到**项目(Project)**:
找到**Build & Run**,然后就能看到这个项目正在使用的是什么套件以及什么Qt版本了。

### 3.3 查看当前项目使用的QtCreator版本
依次点击:QtCreator菜单 -> 帮助 -> 关于QtCreator,就可以查看了。

### 3.4 Linux命令行下查看和使用不同版本的Qt
使用```qmake -v```来查看Qt版本。
如果安装了多个版本的Qt,用```find```指令或者其他方式搜索qmake执行文件,确定其对应的版本。
**命令行环境设置默认qmake**:需要修改```/usr/lib/x86_64-linux-gnu/qt-default/qtchooser```目录下的```default.conf```,其中你的路径里的“x86_64-linux-gnu”可能跟我的不同。default.conf是个链接文件,对应的实际配置文件在```/usr/share/qtchooser/```目录下,这些配置文件记录了qmake执行文件所在的文件夹。查看并确认不同的配置文件内容后,将```/usr/lib/x86_64-linux-gnu/qt-default/qtchooser```链接到所需的配置文件即可。例如
```bash
sudo ln -sf /usr/share/qtchooser/qt5-x86_64-linux-gnu.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
```

## 4、Qt模块
Qt框架是由多个模块构成的。最核心的是QtCore,其他还包括GUI、Multimedia、Network、SQL等。
**常见问题1**:
用QtCreator打开项目时提示:Unknown module(s): XXXX。
原因:该模块未安装。
解决方法:安装该模块。例如在Ubuntu下,用apt或者synaptic安装。软件包名称是```libqt5```开头的,后面跟模块名称。直接搜索```libqt5```+模块名,找到后安装。

常见问题2

引用一个Qt的头文件,结果提示:No such file or directory: QXXXX.h

原因:项目里没引入这个模块。

解决方法:在.pro文件开头的QT += ...后面添加这个模块。空格隔开,全部小写。这个文件属于哪个模块可以通过QtCreator里的帮助查看。Qt帮助有网页版,直接在网上搜类名也可以。

## 5、引用头文件报错
**问题1**:引用一个自己的头文件,.h文件已经存在于项目文件夹里了,但是编译时报错:No such file or directory: XXXX.h
原因:文件没有加入项目。去.pro文件里查看,这个头文件是否已经加入到headers列表里。如果没有加入的话,也不用自己敲键盘把文件名写到列表里,直接对项目名点击鼠标右键,再点击“添加已有文件”,选择报错的文件(包括没有加入sources列表的cpp文件)。

问题2:引用一个头文件,.h文件存在且已经加入项目,但是编译时还是报错:No such file or directory: XXXX.h

问题:引用路径错误。对于一些复杂一点的项目,不同功能的代码是放在不同的文件夹下的。引用时确保写上了头文件的相对路径。你在哪里引用就相对于谁。



谢谢关注

未完待续

上一篇:第2章 初学 emWin 的准备工作及其快速上手


下一篇:C#常用开源类库