Hi!, i am trying the compile of a example for the library directFB and other for library cairo. I have isntall the libraries directFB and Cairo. The first step: i create a new package type "src-make-prog". 2: copy the example "hello world" in the new file "helloworld*.c" 3: I modify the Makefile file and i add: CFLAGS = -g -Wall -O2 -MD `pkg-config --cflags directfb` LDFLAGS = -g -Wall -O2 `pkg-config --libs directfb`
for cairo is the same but the flags are: CFLAGS = -g -Wall -O2 -MD `pkg-config --cflags cairo` LDFLAGS = -g -Wall -O2 `pkg-config --libs cairo` In both cases, the compiler say me: undefined reference to `DirectFBInit', etc... undefined reference to `cairo_image_surface_create',etc... Am I doing it the right way or I need something more to add?
#include <stdio.h>
#include <unistd.h>
#include <directfb.h>
static IDirectFB *dfb = NULL;
static IDirectFBSurface *primary = NULL;
static int screen_width = 0;
static int screen_height = 0;
#define DFBCHECK(x...) \
{ \
DFBResult err = x; \
\
if (err != DFB_OK) \
{ \
fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
DirectFBErrorFatal( #x, err ); \
} \
}
int main (int argc, char **argv)
{
DFBSurfaceDescription dsc;
DFBCHECK (DirectFBInit (&argc, &argv));
DFBCHECK (DirectFBCreate (&dfb));
DFBCHECK (dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN));
dsc.flags = DSDESC_CAPS;
dsc.caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING;
DFBCHECK (dfb->CreateSurface( dfb, &dsc, &primary ));
DFBCHECK (primary->GetSize (primary, &screen_width, &screen_height));
DFBCHECK (primary->FillRectangle (primary, 0, 0, screen_width, screen_height));
DFBCHECK (primary->SetColor (primary, 0x80, 0x80, 0xff, 0xff));
DFBCHECK (primary->DrawLine (primary,
0, screen_height / 2,
screen_width - 1, screen_height / 2));
DFBCHECK (primary->Flip (primary, NULL, 0));
sleep (5);
primary->Release( primary );
dfb->Release( dfb );
return 23;
}
Makefile
Description: Binary data
-- ptxdist mailing list [email protected]
