linux 下 g++編譯程序時-I(大寫i) 與-L(大寫l)-l(小寫l) 的作用詳解
作為一個linux入門級使用者,gcc/g++
的簡單操作已經(jīng)用過多次, 但是有時稍微復(fù)雜一點的程序就會使用到庫。在遇到問題的時候我查了挺多前輩總結(jié)的資料,也留個腳本希望對朋友們有個幫助。如果也能處理你的問題,我會感到很開心,嘻嘻。
例如:libz.so
g++ -o compress compress.cpp -I/home/include/ -L/lib/ -lz
(1) -I (大寫i)
編譯程序按照-I指定的路進(jìn)去搜索頭文件。
-I/home/include/
表示將-I/home/include/
目錄作為第一個尋找頭文件的目錄,尋找的順序是:
/home/include/ -->/usr/include-->/usr/local/include
(2)-L(大寫l)
表示:編譯程序按照-L指定的路進(jìn)去尋找?guī)煳募话愕脑?L的后面可以一次用-l指定多個庫文件。
-L/lib/表示到/lib/目錄下找?guī)煳募?/p>
(3)-l(小寫l)
表示:編譯程序到系統(tǒng)默認(rèn)路進(jìn)搜索,如果找不到,到當(dāng)前目錄,如果當(dāng)前目錄找不到,則到LD_LIBRARY_PATH
等環(huán)境變量置頂?shù)穆愤M(jìn)去查找,如果還找不到,那么編譯程序提示找不到庫。
本例子使用的是gunzip庫,庫文件名是libz.so,庫名是z。很容易看出,把庫文件名的頭lib和尾.so去掉就是庫名了。
總結(jié)
到此這篇關(guān)于linux 下 g++編譯程序時-I(大寫i) 與-L(大寫l)-l(小寫l) 的作用詳解的文章就介紹到這了,更多相關(guān)linux g++編譯程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu Server 16.04安裝MySQL設(shè)置遠(yuǎn)程訪問出現(xiàn)問題的完美解決方案(error:10061)
Ubuntu 16.04安裝MySQL及需要其他主機(jī)遠(yuǎn)程連接MySQL時的設(shè)置問題。在安裝過程中會出現(xiàn)各種奇葩問題,下面小編給大家?guī)砹薝buntu Server 16.04安裝MySQL設(shè)置遠(yuǎn)程訪問出現(xiàn)問題的完美解決方案(error:10061),一起看看吧2016-10-10Linux文件服務(wù)器實戰(zhàn)詳解(虛擬用戶)
這篇文章主要介紹了Linux文件服務(wù)器實戰(zhàn)詳解(虛擬用戶) ,需要的朋友可以參考下2018-06-06linux系統(tǒng)之間通過nfs網(wǎng)絡(luò)文件系統(tǒng)掛載設(shè)置方法
NFS允許一個系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件,通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠(yuǎn)端系統(tǒng)上的文件,下面介紹linux系統(tǒng)之間通過nfs網(wǎng)絡(luò)文件系統(tǒng)掛載的設(shè)置方法2014-01-01Ubuntu/Debian 自有軟件包構(gòu)建私有源詳解
這篇文章主要介紹了Ubuntu/Debian 自有軟件包構(gòu)建私有源詳解的相關(guān)資料,這里介紹詳細(xì)步驟,需要的朋友可以參考下2016-11-11