2012-10-25 51 views
2

我想從幾個源創建一個靜態庫。問題是,對於一些來源,我必須使用不同的CFLAGSAutotools:從不同的編譯源創建一個靜態庫

在開始時,我想到創建幾個noinst_LIBRARIES,最後使用LIBADD將它們合併到lib_LIBRARIES中的一個。這種方法失敗了,因爲沒有辦法結合靜態庫使用ar而不提取它們。

這是怎麼我的Makefile.am目前的樣子:

noinst_LIBRARIES = lib1.a lib2.a 
lib_LIBRARIES = final.a 

final_a_CFLAGS = -Werror 
final_a_SOURCES = mainlib/src.c 
final_a_LIBADD = lib1.a lib2.a 

lib1_a_CFLAGS = -O0 
lib1_a_SOURCES = lib1/src11.c lib1/src12.c 

lib2_a_CFLAGS = -O3 
lib2_a_SOURCES = lib2/src21.c 

我已經想過用ar包裝,將先提取庫,然後在final.a結合他們代AR。但我不喜歡這種方法,那麼有沒有一個正確的方法來實現這一目標?

回答

1

您可能想要便利庫。它們記錄在手冊中。