【问题标题】:How to add my lib to LDFLAGS?如何将我的库添加到 LDFLAGS?
【发布时间】:2014-09-07 17:52:41
【问题描述】:

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

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这个项目不是我写的,我只是贡献,我是图书馆的初学者。

【问题讨论】:

    标签: c makefile ldflags


    【解决方案1】:

    尝试更改此行:

    cruceGame_LDFLAGS = -lncursesw -lpthread
    

    到这里:

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 2017-03-05
      • 2017-02-24
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多