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;
}

Attachment: Makefile
Description: Binary data

-- 
ptxdist mailing list
[email protected]

Reply via email to