Qt Creator中,include路径包含过程(或如何找到对应的头文件)

转自:http://blog.csdn.net/lyc_daniel/article/details/12103189ui

 

利用Qt Creator开发程序时,须要包含利用#include来添加头文件。spa

你们都知道,#include <>用于包含标准库头文件,路径在安装软件的include文件夹下;#include ""用于包含用户自定义的,路径是在用户当前目录下(或自建工程目录下)。.net

对于后者,路径比较直观,容易理解。如#include "lyc/daniel.h",路径在当前目录的lyc文件夹下。(文件包含是能够嵌套的。)3d

下面重点追溯一下Qt的标准库头文件的路径包含状况。blog

1.新建一个GUI工程,能够看到在mainwindow.h文件中有#include <QMainWindow>开发

2.在Qt的include路径下,能够看到里面是文件夹,而不是文件,这是为何呢?get

3.打开工程里的pro文件,即可知道已经包含了二级目录QtCore和QtGuiio

即添加了include里的两个文件编译

4.在include文件夹下搜索QMainWindow(注意不带.h),能够看到在include\QtGui目录下找到了QMainWindowclass

5.用文本打开QMainWindow,能够看到

6.再打开QtGui路径下的qmainwindow.h文件(与QMainWindow在同一路径)

能够看到,路径发生了跳转,从当前路径往上跳两个路径,再从src文件下依次找到qmainwindow.h文件

7.打开qmainwindow.h文件,能够看到

至此,能够看出找到了目标头文件。

在进行编译的时候,该文件内的代码会被拷贝到#include <QMainWindow>处

举例:

在头文件中QT项若是没有加network:

 

在应用程序包含<QtNetwork>以及<QUdpSocket>等子类头文件,都会提示没有此文件;