私は現在、GNU autotoolsツールチェーンを使用するために私のC++プロジェクトを移植しています。私はライブラリの依存関係を設定する際に問題があります。何が起きているかは、-lSDL2 -L/usr/local/lib -lSDL2_image -lSDL2
のように、コマンドにar
のg ++用のフラグを与えることです。ここで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
から引数を追加しているようだが、私はその変数を削除すると、それはwouldnフラグをg++
に渡してください。私は何をしますか?
私はあなたの解決方法を試してみました。私は一歩近づいていると信じていますが、私はまだ同じエラーが発生します。 –
@MathManiac **あなたのコードを自分のコードに置き換えましたか、そこにコードが残っていますか? – Galik
*編集:*待つ..私はあなたが2番目の変数に "LT"を追加したことに気づいた。それを今変更する.. –