场景
错误 3 error LNK2001: 无法解析的外部符号 "public: static class agg::scanline_p8 CFlightInstrumentCompass::m_sl" (?
m_sl@CFlightInstrumentCompass@@2Vscanline_p8@agg@@A)
错误 2 error LNK2001: 无法解析的外部符号 "public: static class agg::row_accessor<unsigned char> CFlightInstrumentCompass::m_rbuf" (?
m_rbuf@CFlightInstrumentCompass@@2V?$row_accessor@E@agg@@A)
错误 4 error LNK2001: 无法解析的外部符号 "public: static class agg::renderer_scanline_aa_solid<class agg::renderer_base<class
agg::pixfmt_alpha_blend_rgba<struct agg::blender_rgba<struct agg::rgba8,struct agg::order_bgra>,class agg::row_accessor<unsigned char>,unsigned int>
> > CFlightInstrumentCompass::m_ren" (?m_ren@CFlightInstrumentCompass@@2V?$renderer_scanline_aa_solid@V?$renderer_base@V?
$pixfmt_alpha_blend_rgba@U?$blender_rgba@Urgba8@agg@@Uorder_bgra@2@@agg@@V?$row_accessor@E@2@I@agg@@@agg@@@agg@@A)
错误 7 error LNK2001: 无法解析的外部符号 "public: static class agg::renderer_base<class agg::pixfmt_alpha_blend_rgba<struct
agg::blender_rgba<struct agg::rgba8,struct agg::order_bgra>,class agg::row_accessor<unsigned char>,unsigned int> > CFlightInstrumentCompass::m_renb"
(?m_renb@CFlightInstrumentCompass@@2V?$renderer_base@V?$pixfmt_alpha_blend_rgba@U?$blender_rgba@Urgba8@agg@@Uorder_bgra@2@@agg@@V?
$row_accessor@E@2@I@agg@@@agg@@A)
错误 6 error LNK2001: 无法解析的外部符号 "public: static class agg::rasterizer_scanline_aa<class agg::rasterizer_sl_clip<struct
agg::ras_conv_int> > CFlightInstrumentCompass::m_ras" (?m_ras@CFlightInstrumentCompass@@2V?$rasterizer_scanline_aa@V?
$rasterizer_sl_clip@Uras_conv_int@agg@@@agg@@@agg@@A)
错误 5 error LNK2001: 无法解析的外部符号 "public: static class agg::pixfmt_alpha_blend_rgba<struct agg::blender_rgba<struct
agg::rgba8,struct agg::order_bgra>,class agg::row_accessor<unsigned char>,unsigned int> CFlightInstrumentCompass::m_pixf" (?
m_pixf@CFlightInstrumentCompass@@2V?$pixfmt_alpha_blend_rgba@U?$blender_rgba@Urgba8@agg@@Uorder_bgra@2@@agg@@V?$row_accessor@E@2@I@agg@@A) C:
解决
在类的头文件中进行如下的描述:
static agg::rendering_buffer m_rbuf;
static agg::pixfmt_bgra32 m_pixf;
static agg::renderer_base<agg::pixfmt_bgra32> m_renb;
static agg::renderer_scanline_aa_solid<agg::renderer_base<agg::pixfmt_bgra32> > m_ren;
static agg::rasterizer_scanline_aa<> m_ras;
static agg::scanline_p8 m_sl;
实际上进行的是变量的声明,注意将AGG的变量对象定义为静态变量,只允许分配一次内存,然后重复使用,
还需要再类的源文件,进行如下的描述:
agg::rendering_buffer CFlightInstrumentCompass::m_rbuf;
agg::pixfmt_bgra32 CFlightInstrumentCompass::m_pixf;
agg::renderer_base<agg::pixfmt_bgra32> CFlightInstrumentCompass::m_renb;
agg::renderer_scanline_aa_solid<agg::renderer_base<agg::pixfmt_bgra32> > CFlightInstrumentCompass::m_ren;
agg::rasterizer_scanline_aa<> CFlightInstrumentCompass::m_ras;
agg::scanline_p8 CFlightInstrumentCompass::m_sl;
原文:http://fengyuzaitu.blog.51cto.com/5218690/1894968