[cairo] Working with .NET DirectShow filter

robertk54 at aol.com robertk54 at aol.com
Mon Nov 5 13:31:32 PST 2007


I am trying to add support for cairo in a C++ .NET Direct Show filter I previously developed for prototyping some video processing functionality.? The goal is to use cairo to add a text overlay to the video.? I am having a tough time trying to get the filter building with cairo.? I am using a static library of cairo (tried using a DLL but ran into other .NET issues so I am trying to keep things simple for now) which I was able to build from source.? Seems the linker can't resolve any of the cairo function names.

YUV Decoder error LNK2019: unresolved external symbol _cairo_create at 4 referenced in function "public: __thiscall CGraphicsRenderer::CGraphicsRenderer(enum _cairo_format,int,int)" (??0CGraphicsRenderer@@QAE at W4_cairo_format@@HH at Z)
YUV Decoder error LNK2019: unresolved external symbol _cairo_image_surface_create at 12 referenced in function "public: __thiscall CGraphicsRenderer::CGraphicsRenderer(enum _cairo_format,int,int)" (??0CGraphicsRenderer@@QAE at W4_cairo_format@@HH at Z)
YUV Decoder error LNK2019: unresolved external symbol _cairo_surface_destroy at 4 referenced in function "public: __thiscall CGraphicsRenderer::~CGraphicsRenderer(void)" (??1CGraphicsRenderer@@QAE at XZ)

So far the code is quite simple . . . 

<<

#include "cairo-win32.h"

class CGraphicsRenderer
{


 "cairo-win32.h"

class CGraphicsRenderer
{


class CGraphicsRenderer
{

public:
CGraphicsRenderer(cairo_format_t format, int width, int height)
{

m_pSurface = cairo_image_surface_create (format, width, height);

m_pCairo = cairo_create (m_pSurface);

};

~CGraphicsRenderer()

{

if (m_pCairo)
{

cairo_surface_destroy (m_pSurface);

}

};

cairo_surface_t *getSurface () const { return m_pSurface; };



:
CGraphicsRenderer(cairo_format_t format, int width, int height)
{

m_pSurface = cairo_image_surface_create (format, width, height);

m_pCairo = cairo_create (m_pSurface);

};

~CGraphicsRenderer()

{

if (m_pCairo)
{

cairo_surface_destroy (m_pSurface);

}

};

cairo_surface_t *getSurface () const { return m_pSurface; };


int width, int height)
{

m_pSurface = cairo_image_surface_create (format, width, height);

m_pCairo = cairo_create (m_pSurface);

};

~CGraphicsRenderer()

{

if (m_pCairo)
{

cairo_surface_destroy (m_pSurface);

}

};

cairo_surface_t *getSurface () const { return m_pSurface; };

if (m_pCairo)
{

cairo_surface_destroy (m_pSurface);

}

};

cairo_surface_t *getSurface () const { return m_pSurface; };
const { return m_pSurface; };
private:
cairo_surface_t * m_pSurface;

cairo_t *m_pCairo;

};
>>

Any help is appreciated.



Thanks,

Bob

:
cairo_surface_t * m_pSurface;

cairo_t *m_pCairo;

};
>>

Any help is appreciated.



Thanks,

Bob

________________________________________________________________________
Email and AIM finally together. You've gotta check out free AOL Mail! - http://mail.aol.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cairographics.org/archives/cairo/attachments/20071105/0fa693c2/attachment.htm 


More information about the cairo mailing list