Hi Witold,
I am still trying to compile svgtex on linux.
Some errors occurred due to difference of compiler’s specification.
Some of the errors seems to be fixed by myself but others are still unsolved.
The unsolved problems are like below.
svg_pattern.h: In member function 'svg::rectangle svg::pattern::bounding_box()':
svg_pattern.h:382: error: no matching function for call to 'svg::pattern::to_root(svg::req_prepare)'
svg_element.h:342: note: candidates are: void svg::element::to_root(svg::request&)
GCC’s way of handling reference seems to somewhat different from MSVC’s compiler?
Once I tried to fix this problem by way of like this.
//to_root(req_prepare(request::prepare_measure, measure));
request req = req_prepare(request::prepare_measure, measure);
to_root(req);
By this way, I could make compile and get a svgtex.so file.
That plugin file can use as usual ways, but it becomes not able to use some of the SVG files.
Probably there needs to modify the definithion of to_root() or req_prepare() but I don’t know how to fix this error.
There are about 15 ‘no matching function for call to’ error reported.
svg_pattern.h: In member function 'svg::rectangle svg::pattern::bounding_box()':
svg_pattern.h:382: error: no matching function for call to 'svg::pattern::to_root(svg::req_prepare)'
svg_element.h:342: note: candidates are: void svg::element::to_root(svg::request&)
svg_pattern.h: In member function 'virtual void svg::pattern::initialize(svg::request&)':
svg_pattern.h:449: error: no matching function for call to 'svg::pattern::prepare_picture(svg::rendering_buffer&, svg::rectangle)'
svg_pattern.h:495: note: candidates are: bool svg::pattern::prepare_picture(svg::rendering_buffer&, svg::rectangle&)
svg_pattern.h: In member function 'void svg::pattern::render_pixels(svg::rendering_buffer&, svg::transform)':
svg_pattern.h:525: error: no matching function for call to 'svg::pattern::to_root(svg::req_prepare)'
svg_element.h:342: note: candidates are: void svg::element::to_root(svg::request&)
svg_parser.cpp: In member function 'void svg::parser::parse(const char*)':
svg_parser.cpp:345: warning: format '%d' expects type 'int', but argument 4 has type 'XML_Size'
svg_req_filter.cpp: In constructor 'svg::req_filter::req_filter(svg::filter&, svg::shape&, svg::transform, svg::rectangle, svg::pixfmt&, double)':
svg_req_filter.cpp:60: error: no matching function for call to 'svg::shape::to_root(svg::req_prepare)'
svg_element.h:342: note: candidates are: void svg::element::to_root(svg::request&)
svg_req_filter.cpp: In constructor 'svg::source_graphic_buffer::source_graphic_buffer(svg::filter&, svg::element&, svg::transform, unsigned int, unsigned int)':
svg_req_filter.cpp:205: error: no matching function for call to 'svg::element::to_root(svg::req_prepare)'
svg_element.h:342: note: candidates are: void svg::element::to_root(svg::request&)
svg_shape.cpp: In member function 'svg::rectangle svg::shape::bounding_box(svg::transform, bool)':
svg_shape.cpp:113: error: no matching function for call to 'svg::shape::to_root(svg::req_prepare)'
svg_element.h:342: note: candidates are: void svg::element::to_root(svg::request&)
svg_shape.cpp: In member function 'void svg::shape::prepare_render(svg::request&, svg::styleset&)':
svg_shape.cpp:144: error: no matching function for call to 'svg::painter::set(svg::rectangle)'
svg_painter.h:114: note: candidates are: virtual void svg::painter::set(svg::transform&, double)
svg_painter.h:132: note: virtual void svg::painter::set(svg::rectangle&)
svg_shape.cpp:160: error: no matching function for call to 'svg::painter::set(svg::rectangle)'
svg_painter.h:114: note: candidates are: virtual void svg::painter::set(svg::transform&, double)
svg_painter.h:132: note: virtual void svg::painter::set(svg::rectangle&)
svgtex.cpp: In function 'int plugin_tex_doit(int, Cast*, float*, float*, float*, float*)':
svgtex.cpp:277: error: no matching function for call to 'is_equal(agg::rgba8&, color)'
svg_basics.h:262: note: candidates are: bool svg::is_equal(const svg::rectangle&, const svg::rectangle&)
svg_basics.h:284: note: bool svg::is_equal(svg::rgba8&, svg::rgba8&)
svgtex.cpp:281: error: no matching function for call to 'tex::instance::background(color)'
tex_instance.h:119: note: candidates are: color& tex::instance::background()
tex_instance.h:120: note: void tex::instance::background(color&)
svg_root.h: In member function 'void svg::root::initialize()':
svg_root.h:154: error: no matching function for call to 'svg::root::forward(svg::request)'
svg_element.h:301: note: candidates are: svg::handle svg::element::forward(svg::request&)
In file included from tex_tile.h:37,
from tex_tileset.h:37,
from tex_instance.h:39,
from svgtex.cpp:48:
tex_texel.h: In static member function 'static tex::texel tex::texel::transparent_black()':
tex_texel.h:146: error: no matching function for call to 'tex::texel::texel(color)'
tex_texel.h:142: note: candidates are: tex::texel::texel(pixfmt&, tex::int32, tex::int32, bool)
tex_texel.h:124: note: tex::texel::texel(color&)
tex_texel.h:110: note: tex::texel::texel(tex::int8u*)
tex_texel.h:95: note: tex::texel::texel(tex::int32u, tex::int32, tex::int32, tex::int32u, tex::int32u, tex::int32, tex::int32)
tex_texel.h:89: note: tex::texel::texel()
tex_texel.h:62: note: tex::texel::texel(const tex::texel&)
tex_texel.h: In static member function 'static tex::texel tex::texel::red()':
tex_texel.h:149: error: no matching function for call to 'tex::texel::texel(color)'
tex_texel.h:142: note: candidates are: tex::texel::texel(pixfmt&, tex::int32, tex::int32, bool)
tex_texel.h:124: note: tex::texel::texel(color&)
tex_texel.h:110: note: tex::texel::texel(tex::int8u*)
tex_texel.h:95: note: tex::texel::texel(tex::int32u, tex::int32, tex::int32, tex::int32u, tex::int32u, tex::int32, tex::int32)
tex_texel.h:89: note: tex::texel::texel()
tex_texel.h:62: note: tex::texel::texel(const tex::texel&)
tex_texel.h: In static member function 'static tex::texel tex::texel::black()':
tex_texel.h:152: error: no matching function for call to 'tex::texel::texel(color)'
tex_texel.h:142: note: candidates are: tex::texel::texel(pixfmt&, tex::int32, tex::int32, bool)
tex_texel.h:124: note: tex::texel::texel(color&)
tex_texel.h:110: note: tex::texel::texel(tex::int8u*)
tex_texel.h:95: note: tex::texel::texel(tex::int32u, tex::int32, tex::int32, tex::int32u, tex::int32u, tex::int32, tex::int32)
tex_texel.h:89: note: tex::texel::texel()
tex_texel.h:62: note: tex::texel::texel(const tex::texel&)
tex_texel.h: In static member function 'static tex::texel tex::texel::white()':
tex_texel.h:155: error: no matching function for call to 'tex::texel::texel(color)'
tex_texel.h:142: note: candidates are: tex::texel::texel(pixfmt&, tex::int32, tex::int32, bool)
tex_texel.h:124: note: tex::texel::texel(color&)
tex_texel.h:110: note: tex::texel::texel(tex::int8u*)
tex_texel.h:95: note: tex::texel::texel(tex::int32u, tex::int32, tex::int32, tex::int32u, tex::int32u, tex::int32, tex::int32)
tex_texel.h:89: note: tex::texel::texel()
tex_texel.h:62: note: tex::texel::texel(const tex::texel&)
How should I fix this error?
Thank you.