En este caso, lo correcto es utilizar pkg-config
en sus Makefile
o 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]
Si echa de menos gtkmm-2.4
, esto producirá
$ 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.
De lo contrario, obtendrá todas las rutas adecuadas y las bibliotecas absorbidas por usted, sin especificarlas todas a mano. (Compruebe la salida de pkg-config --cflags --libs gtkmm-2.4
: eso es mucho más de lo que desea escribir a mano, nunca).
Supongo que acabo de abrir un nuevo dolor de cabeza para que lo lea. OK gracias – endeavormac