CFLAGS 表示用於 C 編譯器的選項,
CXXFLAGS 表示用於 C++ 編譯器的選項。
這兩個變數實際上涵蓋了編譯和彙編兩個步驟。
先來看幾個相關的環境變數:PATH、LDFLAGS、CFLAGS
PATH:大家應該都很熟悉。安裝一個包後可能會在安裝目錄建立一個bin目錄,裡面都是些可執行程式,為了讓系統能找到這些程式,就需要我們把該路徑加入到PATH環境變數中。下面會講到如何加入。
LDFLAGS:gcc等編譯器會用到的一些最佳化參數,也可以在裡面指定庫檔案的位置。用法: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目錄,當安裝過程中出現問題時,試著把以前安裝的包的include目錄加入到該變數中來。
那如何在那些變數中加入這些路徑呢?以PATH變數為例。
一種方法是:直接在命令列下:
$ PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
$ export PATH
這種方法的好處是方便,立即生效,缺點是把當前會話或shell關了之後就失效了,下次還得運行一遍。
另一種方法是:把下面的兩行內容加入到~/.bashrc檔案中,如果想讓其影響到整個系統而不僅僅是目前使用者,就把下面的內容加入到/etc/bash.bashrc(記得有的系統是/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”
引用:http://zhuairlunjj.blog.163.com/blog/static/8005094520101113112810878/?fromdm&fromSearch&isFromSearchEngine=yes
http://lamp.linux.gov.cn/Linux/inside_config_compile_install.html