で、あなたがする必要があるGLWF3を含むファイルのみを注意してください。
- は、ライブラリのヘッダファイル
を見つける方法をコンパイラに伝えます
- リンクする必要があるライブラリをリンカーに伝えます。
ヘッダです、あなたはgcc
に-I/path/to/dir
オプションを渡す必要がある場合に通知するためにコンパイル
。使用するにはどのようなライブラリリンカを伝えるために
CFLAGS= -I/path/to/glwf/include/dir
graphics.o: graphics.c graphics.h
gcc -c graphics.c $(CFLAGS)
chip8.o: chip8.c chip8.h
gcc -c chip8.c
リンク
、それがどこにあるか、オプション-L/path/to/sofile
と-lthelib
が使用されています。多くの場合、メイクCFLAGS
変数は、そうするために使用されます。通常LDFLAGS
変数に:
警告:-l
オプションはリンクに後のファイルを来なければならない(* .oファイル)
LDFLAGS = -L/path/to/libglwf/lib/dir
# if the so file name is "libglwf3.so", the "-l" option must be "-lglwf3"
LDFLAGS += -lglwf3
emulator: $(OBJ)
gcc -o emulator $(OBJ) $(LDFLAGS)
pkg-config
する必要がないために、あなたはpkg-config
ツールを使用することができます:このツールはCFLAGS
とLDFLAGS
変数を設定するのに役立ちます。したがって、インストール手順についてhere ...
を参照してください、あなたはメイク意志は次のようになります。
OBJ = graphics.o chip8.o
# calling program "pkg-config" and store result in CFLAGS variable
CFLAGS = $(shell pkg-config --cflags glfw3)
# calling program "pkg-config" and store result in LDFLAGS variable
LDFLAGS = $(shell pkg-config --ldflags glfw3)
emulator: $(OBJ)
gcc -o emulator $(OBJ) $(LDFLAGS)
graphics.o: graphics.c graphics.h
gcc $(CFLAGS) -c graphics.c
chip8.o: chip8.c chip8.h
gcc $(CFLAGS) -c chip8.c
clean:
rm -f $(OBJ) emulator
あなただけのgcc自体ではなく、メイクファイルで使用していた場合、あなたがそれを行うだろうか?初心者のために、makefileで同じ方法で行います。 –