My current c++ application is compiled by calling "make", and invoked by calling "./fileName.bin". Now, I want to add the functionality of cairo library into the application. Note that the the program written specifically for testing cairo (outside my application) is compiled by "g++ -o fileX $(pkg-config --cflags --libs cairo) fileX.cpp" and invoked by "./fileX". Now, I dont know how to link cairo library to my application that is invoked by calling make. I added the following into my application: Code: #include <cairo.h> #include <cairo-pdf.h> int myPDFdrawing() { cairo_surface_t *surface; cairo_t *cr; // // surface = cairo_pdf_surface_create("pics/mojFajl.pdf", 500, 648); cr = cairo_create(surface); cairo_set_source_rgb(cr, 0, 0, 0); cairo_select_font_face (cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size (cr, 40.0); cairo_translate (cr, 0.0, 150.0); cairo_move_to(cr, 100.0, 500.0); cairo_show_text(cr, "Disziplin ist Macht."); cairo_move_to (cr, -100, -110.5); cairo_line_to (cr, -180, -130.5); cairo_set_line_width (cr, .05); cairo_stroke (cr); cairo_show_page(cr); cairo_surface_destroy(surface); cairo_destroy(cr); return 0; } I tried invoking "make $(pkg-config --cflags --libs cairo)", but this is not appropriate. I would appreciate your help on this. Thanks
This is the content of my Makefile: Code: STXXL_ROOT ?= /home/laptop/stxxl-1.2.1 STXXL_CONFIG ?= stxxl.mk include $(STXXL_ROOT)/$(STXXL_CONFIG) # use the variables from stxxl.mk CXX = $(STXXL_CXX) CPPFLAGS += $(STXXL_CPPFLAGS) # add your own optimization, warning, debug, ... flags # (these are *not* set in stxxl.mk) CPPFLAGS += -O3 -Wall -g -DFOO=BAR # build your application # (my_example.o is generated from my_example.cpp automatically) fileA.bin: fileA.o $(CXX) $(CPPFLAGS) $(CXXFLAGS) fileA.o -o $@ $(STXXL_LDLIBS)