0

Makefile を使用して SDL プログラムをコンパイルしています。通常、SDL プロジェクトはgcc次のようにコンパイルできます。

# gcc -c test.c `sdl-config --cflags`
# gcc -o test test.o `sdl-config --libs`
# ./test

sdl-configただし、Makefile での実行に問題があります。これは私が持っているものです:

CFLAGS := $(shell sdl-config --cflags)
LDFLAGS := $(shell sdl-config --libs)

test : test.o
    gcc $(CFLAGS) $(LDFLAGS) -o test test.o
test.o:

しかしsdl-config、それぞれの出力ではなく、使用状況の行を取得し続けています。--cflags引数 (および--libs) が に渡されていないと思われsdl-configます。

shell関数に引数を渡すにはどうすればよいですか? 最終目標を達成するためのより良い方法はありますか?

4

1 に答える 1

1

あなたのしていることは正しいです。コマンド ラインから「sdl-config --cflags」を実行すると、機能しますか、それとも使用法の行を取得しますか? スクリプトの問題をデバッグする最善の方法は、シェル プロンプトからスクリプトを実行することです。そこで動作する場合は、make でも動作します。

于 2013-06-11T20:37:58.250 に答える