cflags 表示用於 c 編譯器的選項,
cxxflags 表示用於 c++ 編譯器的選項。
這兩個變數實際上涵蓋了編譯和彙編兩個步驟。
cflags: 指定標頭檔案(.h檔案)的路徑,如:cflags=-i/usr/include -i/path/include。同樣地,安裝乙個包時會在安裝路徑下建立乙個include目錄,當安裝過程中出現問題時,試著把以前安裝的包的include目錄加入到該變數中來。
ldflags:gcc 等編譯器會用到的一些優化引數,也可以在裡面指定庫檔案的位置。用法:ldflags=-l/usr/lib -l/path/to/your/lib。每安裝乙個包都幾乎一定的會在安裝目錄裡建立乙個lib目錄。如果明明安裝了某個包,而安裝另乙個包時,它愣是說找不到,可以抒那個包的lib路徑加入的ldfalgs中試一下。
簡單地說,ldflags是告訴鏈結器從**尋找庫檔案,而libs是告訴鏈結器要鏈結哪些庫檔案。不過使用時鏈結階段這兩個引數都會加上,所以你即使將這兩個的值互換,也沒有問題。
ldflags = -l/var/***/lib -l/opt/mysql/lib -wl,r/var/***/lib -wl,r/opt/mysql/lib
如果在執行./configure以前設定環境變數export ldflags="-l/var/***/lib -l/opt/mysql/lib -wl,r/var/***/lib -wl,r/opt/mysql/lib" ,注意設定環境變數等號兩邊不可以有空格,而且要加上引號(shell的用法)。那麼執行configure以後,makefile將會設定這個選項,鏈結時會有這個引數,編譯出來的可執行程式的庫檔案搜尋路徑就得到擴充套件了。
Makefile介紹及Makefile是如何工作的
make命令執行時,需要乙個 makefile 檔案,以告訴make命令如何去編譯和鏈結程式。首先,我們用乙個示例來說明makefile的書寫規則。以便給大家乙個感性認識。這個示例 於gnu的make使用手冊,在這個示例中,我們的工程有8個c檔案,和3個頭檔案,我們要寫乙個makefile來告訴ma...
Makefile詳解 介紹
make命令執行時,需要乙個 makefile 檔案,以告訴make命令需要怎麼樣的去編譯和鏈結程式。首先,我們用乙個示例來說明makefile的書寫規則。以便給大家乙個感興認識。這個示例 於gnu的make使用手冊,在這個示例中,我們的工程有8個c檔案,和3個頭檔案,我們要寫乙個makefile來...
Makefile介紹和編寫
1.makefile基本原理 本質就是乙個指令碼,這個指令碼用make來執行 檔名makefile或makefile 原理,是根據目標,執行下面的指令 目標後面如果還有依賴的目標,則先執行後面目標的指令,再執行前面目標的指令 aaa find name eee rrr lsrrr echo adfa...