makefile的选项CFLAGS和LDFLAGS
CFLAGS 表示用于 C 編譯器的選項,
CXXFLAGS 表示用于 C++ 編譯器的選項。
這兩個變量實際上涵蓋了編譯和匯編兩個步驟。
先來看幾個相關的環(huán)境變量:PATH、LDFLAGS、CFLAGS
PATH:大家應該都很熟悉。安裝一個包后可能會在安裝目錄建立一個bin目錄,里面都是些可執(zhí)行程序,為了讓系統(tǒng)能找到這些程序,就需要我們把該路徑加入到PATH環(huán)境變量中。下面會講到如何加入。
LDFLAGS:gcc?等編譯器會用到的一些優(yōu)化參數(shù),也可以在里面指定庫文件的位置。用法:LDFLAGS=“-L/usr/lib -L/path/to/your/lib”。每安裝一個包都幾乎一定的會在安裝目錄里建立一個lib目錄。如果你明明安裝了某個包,而安裝另一個包時,它愣是說找不到,那就把那個包的lib路徑加入的LDFALGS中試一下吧。
CFLAGS:和LDFLAGS類似,只不過要向里加如的是頭文件(.h文件)的路徑,如:CFLAGS=“-I/usr/include -I/path/to/your/include”。同樣地,安裝一個包時會在安裝路徑下建立一個include目錄,當安裝過程中出現(xiàn)問題時,試著把以前安裝的包的include目錄加入到該變量中來。
那如何在那些變量中加入這些路徑呢?以PATH變量為例。
一種方法是:直接在命令行下:
$ PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
$ export PATH
這種方法的好處是方便,立即生效,缺點是把當前會話或shell關了之后就失效了,下次還得運行一遍。
另一種方法是:把下面的兩行內(nèi)容加入到~/.bashrc文件中,如果想讓其影響到整個系統(tǒng)而不僅僅是當前用戶,就把下面的內(nèi)容加入到/etc/bash.bashrc(記得有的系統(tǒng)是/etc/bashrc這個文件)
PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
export?PATH
然后,重新啟動shell即可。
需要注意的是,PATH變量的分隔符是:號,其他的是空格,
所以LDFLAGS應該是這樣:
LDFLAGS=“$LDFLAGS -L/path/to/lib -L/path/to/lib”
CFLAGS應該是這樣:
CFLAGS=“$CFLAGS -I/path/to/iclude -I/path/to/include”
總結(jié)
以上是生活随笔為你收集整理的makefile的选项CFLAGS和LDFLAGS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Word在固定位置插入递增数字
- 下一篇: gtest的单独编译和使用