在pro文件裡寫"QT+=widgets"表示引入QtWidget這個module,qmake在生成makefile的時候,會設置好include path 和 lib path,在link時候設置好libs。
QT += widgets包括兩部分:
1:Lib,這個是lib的路徑和lib文件的文件名。
2:include , *.h的路徑在pro文件裡設置,.h的文件名用代碼裡的#include設定
QT += widgets 貌似可以分開寫成(大致是這樣):
INCLUDE+= 一串路徑 (因為文件名都在代碼裡以include形式出現,所以這裡沒必要出現文件名)
LIB+=一串路徑 + -l文件名 + -l文件名。。。。
而若僅在源代碼裡 include <QApplication>僅是引入聲明,但是沒有lib,所以鏈接時會出錯。
這是由於C++頭文件和lib分離的這種設計模式造成的,現代語言基本都采用package管理,用import解決了。