You have a few options:
- librsvg from the Cairo Graphics project
- extend libsvgtiny to meet your needs
- extract the SVG layer from Amaya
- use an xml parser and then parse properties as needed
- for C++ and significant dependencies: QT, webkit or chromium
Note on libsvgtiny: It is developed by the Netsurf Browser project and has very minimal dependencies that many other projects would have probably bundled in, but they intentionally separate out different functionality (they also parse html, xml and css, so the common parsing bits are a separate library). I have built a basic svg viewer from their example code in nsfb that static compiled down to under 300kb with the libxcb backend using musl-libc (glibc + libx11 + librsvg + all their dependencies is well over 10x that)
Note on librsvg: It is the most commonly used, but has significantly more dependencies.
Note on Amaya: Not in active development, only mentioned in case it is close to what you are trying to do to begin with. Versions prior to 9.x only required gtk+-1.X (now Wx which is cross platform)
Note on QT: if you are using C++ wanting a cross platform gui, then this is probably a good choice, since many C++ gui toolkits (fltk, FOX, etc...) don't have builtin svg capability
webkit or chromium embedded: These are cross platform and offer plenty of overkill. You will not only get SVG but also a lot of stuff you may not need... but since all programs evolve until they can do mail, this will put you ahead of the game later.
Xml parsers: Too many to mention, but you may be able to extract a bit of code from tinysvg for additional properties
My recommendation: start with svgtiny and add any capabilities that you need. The Netsurf developers are extremely open and helpful.