【发布时间】:2012-10-25 23:08:37
【问题描述】:
我正在尝试从多个来源构建一个静态库。问题是对于某些来源,我必须使用不同的CFLAGS。
一开始我想创建几个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 包装器替换AR,该包装器将首先提取库,然后将它们组合到final.a 中。但是我不喜欢这种方法,那么有没有正确的方法来实现呢?
【问题讨论】:
标签: autotools static-linking automake libtool unix-ar