我正在尝试从多个来源构建静态库。问题是,对于某些来源,我必须使用不同的CFLAGS
。
在开始时,我考虑创建多个noinst_LIBRARIES
,最后使用lib_LIBRARIES
将它们合并到LIBADD
中的一个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
我已经考虑用ar
替换final.a
包装器,首先提取库然后将它们组合在{{1}}中。但我不喜欢这种方法,那么有没有正确的方法来实现这一目标呢?
答案 0 :(得分:1)
您可能需要便利库。它们记录在手册中。