Trong trường hợp này, những điều đúng để làm là sử dụng pkg-config
trong Makefile
hoặc bạn buildscripts:
# 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 [email protected]
# this part is actually optional, since it's covered by gmake's implicit rules
%.o: %.cc
$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $< -o [email protected]
Nếu bạn đang bỏ lỡ gtkmm-2.4
, điều này sẽ tạo ra
0.123.
$ make
Package gtkmm-2.4 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtkmm-2.4.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtkmm-2.4' found
Makefile:3: *** Package gtkmm-2.4 needed to compile. Stop.
Nếu không, bạn sẽ nhận được tất cả đường dẫn và thư viện thích hợp được hút vào cho bạn, mà không chỉ định tất cả chúng bằng tay. (Kiểm tra đầu ra của pkg-config --cflags --libs gtkmm-2.4
: đó là nhiều hơn bạn muốn gõ bằng tay, bao giờ.)
Tôi đoán tôi vừa mới mở ra một nhức đầu hoàn toàn mới để tôi đọc. Được rồi, cám ơn – endeavormac