Skip to content

SVG++

SVG++ library can be thought of as a framework, containing parsers for various SVG syntaxes, adapters that simplify handling of parsed data and a lot of other utilities and helpers for the most common tasks. Take a look at Tutorial to get the idea about what it is. Library sources available at https://github.com/svgpp/svgpp.

Features

  • Is a header-only library
  • Can be used with any XML parser
  • Compile time configured - no virtual functions
  • Minimal runtime overhead - you pay only for what you get
  • Has wide range of possible uses:
    • Fully functional, conforming SVG viewers
    • Simple in-app SVG rasterizers
    • Import modules of vector editing software
    • Implementing path-only input of SVG format with minimal efforts in any graphics or math software
  • Requires only Boost library itself (demo, tests and sample have their own requirements)
  • Compatible with C++03, but requires conforming implementation, due to heavy usage of templates
  • Supports any character type (char and wchar_t). Other (Unicode from C++11) were not tested, but should be ok.

Licensing

Library is free for commercial and non-commercial use. The library is licensed under the Boost Software License, Version 1.0.

Troubleshooting

expected identifier before 'char'

아래와 같은 오류 메세지가 출력될 수 있다.

3rd/svgpp/detail/dict/enumerate_literal_values.inc:123:16: error: expected identifier before 'char'
SVGPP_ON_VALUE(small)   // Error on Windows may be caused by "small" macro in RpcNdr.h 

이 경우 #include <svgpp/svgpp.hpp>헤더를 포함한 위치에 아래와 같이 수정한다.

#undef small
#include <svgpp/svgpp.hpp>

See also

Favorite site