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>等子類頭文件,都會提示沒有此文件;

相關文章
相關標籤/搜索