この場合、正しいことは、またはビルドスクリプトで使用することpkg-configですMakefile。
# Makefile
ifeq ($(shell pkg-config --modversion gtkmm-2.4),)
$(error Package gtkmm-2.4 needed to compile)
endif
CXXFLAGS += `pkg-config --cflags gtkmm-2.4`
LDLIBS += `pkg-config --libs gtkmm-2.4`
BINS = program
program_OBJS = a.o b.o c.o
all: $(BINS)
program: $(program_OBJS)
$(CXX) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
# this part is actually optional, since it's covered by gmake's implicit rules
%.o: %.cc
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
あなたが行方不明の場合gtkmm-2.4、これは生成されます
$ make
パッケージgtkmm-2.4がpkg-config検索パスに見つかりませんでした。
おそらく、`gtkmm-2.4.pc'を含むディレクトリを追加する必要があります
PKG_CONFIG_PATH環境変数へ
パッケージ「gtkmm-2.4」が見つかりません
Makefile:3:***コンパイルにはパッケージgtkmm-2.4が必要です。止まる。
そうしないと、すべてを手動で指定しなくても、適切なパスとライブラリがすべて吸い込まれてしまいます。(pkg-config --cflags --libs gtkmm-2.4:の出力を確認してください。これは、手で入力したいよりもはるかに多いです。)