gpt4 book ai didi

c - 如何将我的库添加到 LDFLAGS?

转载 作者:行者123 更新时间:2023-11-30 18:56:00 25 4
gpt4 key购买 nike

我有一个项目的下一个结构:

cruceGame/
src/
libCruceGame/...
cruceGameCurses/...
multiplayerCurses/...
networking/...
parser/...
docs/...this doesn't matter...

该项目在 src/文件夹中有一个 Makefile.am:

AM_CPPFLAGS = -I$(top_srcdir)/src/libCruceGame -I$(top_srcdir)/src/networking -I$(top_srcdir)/src/cruceGameCurses -I$(top_srcdir)/src/multiplayerCurses
LDFLAGS = -no-undefined
CFLAGS += -std=c99

if DEBUG
CFLAGS += -g -Wall -DDEBUG
endif

lib_LTLIBRARIES = libCruceGame.la libNetworking.la libCruceGameCurses.la libMultiplayerCurses.la
bin_PROGRAMS = cruceGame

cruceGame_SOURCES = cruceGame.c

cruceGame_LDADD = libCruceGame.la libNetworking.la libCruceGameCurses.la libMultiplayerCurses.la
cruceGame_LDFLAGS = -lncursesw -lpthread

libCruceGame_la_SOURCES = libCruceGame/deck.c \
libCruceGame/team.c \
libCruceGame/round.c \
libCruceGame/game.c

libNetworking_la_SOURCES = networking/network.c

libCruceGameCurses_la_SOURCES = cruceGameCurses/main.c \
cruceGameCurses/cli.c

libMultiplayerCurses_la_SOURCES = multiplayerCurses/main.c \
multiplayerCurses/cli.c \
multiplayerCurses/ircHandlers.c

你可以在这里找到项目(在开发分支中查看):https://github.com/danij/CruceGame我正在尝试将 cruceGameCurses 和 multiplayerCurses 打包到库中,但它使用 libCruceGame。当我使用此 makefile 时,我收到有关对 libCruceGame 函数的未识别引用的错误。所以,我的问题是:如何将 libCruceGame 添加到 LDFLAGS?PS 该项目不是我写的,我只是贡献,而且我是图书馆的初学者。

最佳答案

尝试更改此行:

cruceGame_LDFLAGS = -lncursesw -lpthread

对此:

cruceGame_LDFLAGS = -lncursesw -lpthread -L/directory/your/lib/is/in -lname

其中name是库文件名的中间部分。也就是说,如果文件是 libfoo.alibfoo.so,则与 -l 一起使用的名称选项只是foo

关于c - 如何将我的库添加到 LDFLAGS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25713146/

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