gpt4 book ai didi

build - 多个程序的 Automake 链接

转载 作者:行者123 更新时间:2023-12-05 04:13:43 24 4
gpt4 key购买 nike

我正在使用 Autotools 构建包含多个二进制文件的项目(带有命令行工具的 repo)。

如何将一些库链接到所有程序,而将其他一些库仅链接到特定程序?

例子:
我的 Makefile.am:

bin_PROGRAMS= prog1 prog2
prog1_SOURCES=prog1.cpp
prog2_SOURCES=prog2.cpp

prog1_LDADD= -llib-only-for-prog1

LDADD=-llib-for-all-projects # this does not work
#AM_LDFLAGS=-llib-for-all-projects # this does not work either
#LINK=-llib-for-all-projects # this does not work either

我希望 prog1 链接到 -llib-only-for-prog1-llib-for-all-projects
prog2 - 仅针对 -llib-for-all-projects

如何使用 autotools 实现这一点?

最佳答案

基本上,如果您为特定程序添加 LDADD (prog1_LDADD),它将忽略常见的 LDADD 选项。

以下对我有用:

bin_PROGRAMS=prog1 prog2 prog3
prog1_SOURCES=prog1.c
prog2_SOURCES=prog2.c
prog3_SOURCES=prog3.c

LDADD=-llib-for-all-projects
prog1_LDADD=-llib-only-for-prog1 $(LDADD)

注意 prog1_LDADD 行中的额外 $(LDADD)。

关于build - 多个程序的 Automake 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36984589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com