《gcc五分鐘系列》第十四節:預編譯期選項(一)——I
相信大家對include指令有所瞭解,相信能夠區別引號和尖括號的作用。
簡單來說,
(1)引號的作用:先在當前目錄下搜索文件,然後在系統目錄下搜索文件。
(2)尖括號的作用:僅在系統目錄下搜索文件。
但是,如果大家做過Qt的開發,就會發現:
(1)包含一個Qt庫的頭文件時,需要用尖括號即可。
(2)Qt庫的頭文件並不在系統目錄下。
例如,我用的是ubuntu linux maverick,使用apt-get安裝qt4。
以<QObject>這個頭文件爲例,它的存放路徑是/usr/include/qt4/QtCore/QObject 。
那麼Qt是如何做到的呢?
我們可以打開qmake生成的Makefile,看到Qt在編譯參數的變量中加上了這樣一句:
-I/usr/include/qt4/QtCore
這個-I是gcc的一個選項,它的作用是把一個路徑加入到系統路徑,這樣當使用include指令時,就可以用尖括號來指定文件。
那麼怎麼指定多個路徑呢?多寫幾遍就可以了!
-I/usr/share/qt4/mkspecs/linux-g++ -I../../../dgp/othello/client -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I../../../dgp/Dlut-Game-Platform/api/include -I../../../dgp/roommodel/include/client -I../../../dgp/roommodel/include/common -I. -I. -I../../../dgp/othello/client -I.
可以用絕對路徑、相對路徑。甚至可以把當前路徑加入到系統路徑中,這樣就可以用尖括號來指定當前目錄下的一個文件了。
本節完。
《gcc五分鐘系列》第十四節:預編譯期選項(一)——I
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Linux基本操作命令
wbzjacky
2019-02-24 13:12:38
真實的模擬***綜合實驗
wbzjacky
2019-02-24 13:12:37
三層交換機的HSRP、vlan、端口聚合
wbzjacky
2019-02-24 13:12:37
HSRP和二層交換機的端口聚合、vlan
wbzjacky
2019-02-24 13:12:37
如果同事暗中傷害你,應該怎麼辦?
這個饅頭有餡
2019-02-24 13:59:08
職場中,抱怨越多的員工,越被領導瞧不起!
這個饅頭有餡
2019-02-24 13:59:08
老程序員被裁,應屆生卻能月薪 1.3 萬?這你能忍?
前端高達
2019-02-24 13:48:04
遇到到處蹭吃卻從不請客吃飯的主怎麼辦?
樑軍年
2019-02-24 13:26:35
高標準機房綜合配線安裝
wbzjacky
2019-02-24 13:12:38
IPsec ***實驗
wbzjacky
2019-02-24 13:12:37
CISCO路由AAA的Easy ***
wbzjacky
2019-02-24 13:12:37
CISCO訪問控制列表 企業網絡管理的必殺技
wbzjacky
2019-02-24 13:12:37