我正在移植我的C++項目以使用GNU autotools工具鏈,並且在設置庫依賴項時遇到問題。似乎正在發生的是它給出了用於g ++的命令ar
,例如-lSDL2 -L/usr/local/lib -lSDL2_image -lSDL2
。Autotools將庫標誌添加到ar
下面是src/Makefile.am
代碼:
noinst_LIBRARIES = libccade.a
libccade_a_SOURCES = CCade.h CCade_graphics.h CCade_graphics.cpp CCade_util.h CCade_util.cpp
libccade_a_LIBADD = $(libsdl2_LIBS) $(libsdl2_image_LIBS)
libccade_a_CFLAGS = $(libsdl2_CFLAGS) $(libsdl2_image_CFLAGS)
這裏是make
推出:
ar cru libccade.a CCade_graphics.o CCade_util.o -lSDL2 -L/usr/local/lib -lSDL2_image -lSDL2
ar: invalid option -- 'L'
Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
...(more documentation on ar)...
它似乎是從libccade_a_LIBADD
加入ARGS,但如果我刪除該變量,那麼它止跌不要給旗幟g++
。我該怎麼辦?
我試着按照你的解決方案,雖然我確信我離得更近,但我仍然得到同樣的錯誤。 –
@MathManiac您是否**用您的代碼替換**您的代碼,或者您的代碼還在那裏? – Galik
*編輯:*等等..我意識到你在第二個變量上加了「LT」。改變現在.. –