Read WiKi for installation instructions and tutorials.
cppfw / svgren Goto Github PK
View Code? Open in Web Editor NEW:camera: SVG rendering library in C++
License: MIT License
:camera: SVG rendering library in C++
License: MIT License
Read WiKi for installation instructions and tutorials.
Hello,
We found a similar issue as before (white rectangle image) with masks. My hunch would be the special node <use [...]></use>
but I'm not sure.
I'm attaching the non-working SVG and an updated version of the same SVG that works.
caltrain-non-working.svg
<?xml version="1.0" encoding="UTF-8"?>
<svg width="68px" height="68px" viewBox="0 0 68 68" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 47.1 (45422) - http://www.bohemiancoding.com/sketch -->
<title>Page 1</title>
<desc>Created with Sketch.</desc>
<defs>
<polygon id="path-1" points="34.00945 -0.0001 0 -0.0001 0 68.0009 34.00945 68.0009 68.0189 68.0009 68.0189 -0.0001"></polygon>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g>
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="Clip-2"></g>
<path d="M40.4039,1.9929 C42.9709,1.9929 45.2869,2.2649 47.4009,2.7449 C43.2899,0.9799 38.7639,-0.0001 34.0089,-0.0001 C15.2359,-0.0001 -0.0001,15.2369 -0.0001,34.0039 C-0.0001,42.4059 3.0609,50.0939 8.1189,56.0279 C4.9529,50.5279 4.2229,43.1359 5.8389,34.8209 C9.3269,16.8639 20.8309,1.9929 40.4039,1.9929 M59.6469,11.6829 C61.7139,15.6969 62.4359,20.8359 61.7519,26.9309 L61.6979,26.9309 L61.5019,28.0819 L43.8189,28.0819 C44.8989,21.7639 43.8959,15.9559 37.8689,15.9559 C29.4399,15.9559 26.5569,28.9289 25.4119,34.8209 C24.2009,41.0759 22.5029,51.6929 31.1089,51.6929 C36.5839,51.6929 39.7979,47.2219 41.7189,41.3059 L59.2119,41.3059 C54.7749,56.7649 42.5559,66.0199 28.2359,66.0199 C25.1629,66.0199 22.4079,65.6469 19.9539,64.9569 C24.2399,66.9059 28.9959,68.0009 34.0089,68.0009 C52.7829,68.0009 68.0189,52.7699 68.0189,34.0039 C68.0189,25.4619 64.8559,17.6579 59.6469,11.6829" id="Fill-1" fill="#000000" mask="url(#mask-2)"></path>
</g>
</g>
</svg>
caltrain-working.svg
<?xml version="1.0" encoding="UTF-8"?>
<svg width="68px" height="68px" viewBox="0 0 68 68" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs><mask id="mask">
<polygon fill="#000000" points="34.00945 -0.0001 0 -0.0001 0 68.0009 34.00945 68.0009 68.0189 68.0009 68.0189 -0.0001"></polygon>
<path fill="#ffffff" d="M40.4039,1.9929 C42.9709,1.9929 45.2869,2.2649 47.4009,2.7449 C43.2899,0.9799 38.7639,-0.0001 34.0089,-0.0001 C15.2359,-0.0001 -0.0001,15.2369 -0.0001,34.0039 C-0.0001,42.4059 3.0609,50.0939 8.1189,56.0279 C4.9529,50.5279 4.2229,43.1359 5.8389,34.8209 C9.3269,16.8639 20.8309,1.9929 40.4039,1.9929 M59.6469,11.6829 C61.7139,15.6969 62.4359,20.8359 61.7519,26.9309 L61.6979,26.9309 L61.5019,28.0819 L43.8189,28.0819 C44.8989,21.7639 43.8959,15.9559 37.8689,15.9559 C29.4399,15.9559 26.5569,28.9289 25.4119,34.8209 C24.2009,41.0759 22.5029,51.6929 31.1089,51.6929 C36.5839,51.6929 39.7979,47.2219 41.7189,41.3059 L59.2119,41.3059 C54.7749,56.7649 42.5559,66.0199 28.2359,66.0199 C25.1629,66.0199 22.4079,65.6469 19.9539,64.9569 C24.2399,66.9059 28.9959,68.0009 34.0089,68.0009 C52.7829,68.0009 68.0189,52.7699 68.0189,34.0039 C68.0189,25.4619 64.8559,17.6579 59.6469,11.6829"></path>
</mask></defs>
<rect width="100%" height="100%" mask="url(#mask)"/>
</svg>
Hi there!
I've got a svg that can't be rendered correctly.
It's pretty simple, could you take a quick glance at it?
Thx
Hi again :)
I am trying to specify another DPI than 96 (tried 960 for all these example files) to svgren::render, but the resulting image seems to become the same anyways. I use parameters 0 for width and height. Here is a test file (the same snake picture I have submitted before)
test.zip
Here is another file that behaves differently: The size of the image changes with DPI change, but the actual rendering is in the upper left corner and still the same size.
test2.zip
I do have some files on which the DPI change seems to work, such as this:
test3.zip
Hi! I can't figure out how to build it from sources under Linux. AFAIU, you are using your own build system, which is not very useful.
?
Hello, I was able to render camera.svg
and other 3 simple svgs correctly using the example on tests/render/main.cpp
but tiger.svg
is failing to render properly:
Here's my result when rendering the file camera.svg
:
And here's my result when rendering the file tiger.svg
:
I use the exact same code for both, the only thing that I changed was the name of the file. I wonder if this is just happening to me, or if you also are seeing this issue too?
In my case I render SVG images which are not fully trancparent in some parts. These images are draw in my mfc application onto other images/backgrounds.
I found ot that it makes a difference if I fill the background with 0x00000000 or 0x00FFFFFF.
I got the best results with a transparent grey background of 0x00AFAFAF.
It would help me a lot to have the filling colour as parameter (with default argument) of the renderer method.
For now I have modified the original source to fix my Problem:
for(auto& c : ret){
// #ifdef M_SVGREN_WHITE_BACKGROUND
// c = 0xffffffff;
// #else
// c = 0;
// #endif
c = 0x00AFAFAF;
}
This would also help to get rid of the M_SVGREN_WHITE_BACKGROUND define.
Hi there!
Still enjoying this excellent library )
But it's time to notice that our stylish sport car has some significant render artifacts on the hood and bumpers.
I suppose they appear due to a bug, because as far as I can remember, about a month ago the car had no those problems. Certainly, it had other ones but the specular spots on the hood were a bit more soft. They had no such sharp edges.
Hope you can fix it easily.
I have an SVG that looks like this:
<svg xmlns="http://www.w3.org/2000/svg" width="57.12901" height="57.53997" viewBox="0 0 57.12901 57.53997">
<defs>
<mask id="mask">
<circle cy="37.45" cx="36.972" r="28.563" fill="#ffffff" transform="translate(-8.40599 -8.47303)"/>
<path d="M28.616 28.17h.8c5.4 0 6.84-2.8 6.96-4.92h4.6v28.4h-5.6V32.09h-6.76v-3.92z" fill="#000000" transform="translate(-8.40599 -8.47303)"/>
</mask>
</defs>
<rect width="100%" height="100%" mask="url(#mask)"/>
</svg>
but once it renders, I only get a black rectangle? It seems like the mask is ignored completely.
Hi there!
I have bumped into svg that cannot be processed.
It's unlikely that there is no memory it looks like a bug.
Hope you could sort this out as usual easily )
granddad.zip
left a comment on the commit I think is causing this:
It's me again :) I hope you're not getting too tired of me :O
One of the SVGs I posted in my previous issue has some very small path objects that don't appear on the rendering. When rendered from Inkscape it looks like this:
This is the rendering from svgren:
I tried to scale up the rendering (see my previous issue ;) to see if the detail would show up, but no luck.
Here is the SVG file again:
test2.zip
Here's an example of one of the paths that doesn't appear:
<path style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 149.375,231.737 c 7.1603,-2.352 14.6432,-5.3254 21.875,-6.875 l -21.875,6.875 c 7.1603,-2.352 14.6432,-5.3254 21.875,-6.875" id="path731" />
After Update to latest version of svgren I permanently get an assertion in svgdom while loading-
Simple example:
menue-new.zip
Everything rendererd fine in my last libraries but I wanted to try out your last performance optimisations.
In release Version everything looks fine and it seems to be a lot faster too.
Is there a way to disable these assertions?
I'm trying to use this library in VS 2017 and am getting the following linker error in a very plain Win32 application. Are there any solution or project settings I'm missing?
auto dom = svgdom::load(papki::FSFile("C:\Users\scott\Documents\TEMP\airport-15.svg")); unsigned width = 0; // 0 - Use width from SVG document unsigned height = 0; // 0 - Use height from SVG document auto img = svgren::render(*dom, width, height); // 96 dpi by default // img is a std::vector<std::uint32_t> holding array of RGBA values.
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol "public: bool _thiscall pugi::xmlattribute::empty(void)const " (?empty@xmlattribute@pugi@@QBENXZ) referenced in function "public: class std::uniqueptr<struct svgdom::Element,struct std::defaultdelete > _thiscall `anonymous namespace'::Parser::parseNode(class pugi::xmlnode const &)" (?parseNode@Parser@?A0x031f2505@@QAE?AV?$uniqueptr@UElement@svgdom@@U?$defaultdelete@UElement@svgdom@@@std@@@std@@ABVxml_node@pugi@@@z) SvgRender C:\Users\scott\documents\visual studio 2017\Projects\SvgRender\SvgRender\libsvgdom.lib(dom.obj)
Version of related project downloaded from NuGet:
cairo_static v1.15.4.1
libpapki v1.0.39
libpng v1.6.28.1
libpng.redist v1.6.28.1
libsvgdom v0.2.32
libsvgren v0.4.12
libutki v1.1.7
pixman_static v0.32.4.4
pugixml v1.8.0
zlib v1.2.8.8
zlib.v120.windesktop.msvcstl.dyn.rt-dyn v1.2.8.8
zlib.v140.windesktop.msvcstl.dyn.rt-dyn v1.2.8.8
I just know if supports svg animation and export from specific frame. This is a cool feature.
Hi Ivan!
Building process for windows desktop platform is pretty simple (thanks for nuget packages)
It would be nice if you could provide us ability to build this amazing library for Universal Windows Platform too. Or any advise how to compile it for UWP with minimal efforts.
Many thanks.
Hi there!
I try to compile svgren.lib (or dll) for Win32 with statically linked runtime (/MT flag instead of /MD ).
VSVS 2015 give me a bunch of linking error (see bellow)
Steps to reproduce:
There are lot of complains about unresolved externals symbols and mismatch detected:
Properties -> Reference Packages shows that we have choice between static and dynamic for cairo and pixman libs.
Further investigation shows that in despite of these settings all libs are 'multi-threaded dll' linked (they all contain -MD flag inside, instead of -MT).
Earlier I saw in some previous versions of svgren, pugixml package had two selectable options (static / dynamic)
It would be nice if we could choose what runtime to use too.
(I personally prefer static linking)
Many thanks for your work!
I have a drawing problem with svgren. The Lines are missing.
And this is the way it is supposed to look (like firefox renders it):
This is the korosponding SVG file:
interface-ethernet.zip
I hope you can fix this problem.
Hi,
I just wanted to update all the libraries to the latest version ....
Transparency seems to be gone ....
I think I need to stay on the "old" version until this is fixed.
After some investigation I thing it is your change: "msvs: define white background macro for debug builds "
In my case I need transparency in DEBUG as well.
Why not just passing the desired background colour as a parameter with default zero?
Hi again :)
After updating to the latest version from 0.4.9 the rendering is different.
Here is what the rendering of an SVG lookes like from Inkscape and in version 0.4.9:
This is what it looks like now after updating:
It's the same SVG file I submitted in a previous issue, but here it is again:
test.zip
after upgrading to 0.4.38 my android app stopped working.
Small investigation shows that libsvgren cannot read svg files generated on windows platforms (with 0d 0a line breaks)
an example: z_tiger1.zip
I see migration from pugixml to mikroxml.
What's the reason?
Pugixml works correctly with any line styles.
Moreover, simple time measurements show that pugixml is a bit faster on my testing android devices.
It would be nice to provide us ability to switch to another xml parser.
Hi,
I haven't had issuses since a quite long time now. Just now I discovered an image where the Background is not drawn. The same image rendered in firefox has the background shape.
I attached the original SVG file.
FW5-24V.zip
It would be great if you could fix this.
I'am using the latest versions of your library on Windows with Visual Studio 2015
Any black element is not rendered correctly. Comparing two svg files shows that with colour black no style element is exported. The file without style renderes correctly in firefox.
SVG-File with error:
button-add.zip
Hi there!
I've noticed that despite existing svgdom version 0.3.6 you're still using 0.3.3 in your ms vs projects: libsvgren and render_test (see corresponding packages.config for each projects). Is it ok?
First: thank you. A very interesting piece of work.
Second: Is there a stable branch? Loading the existing solution file into VS2015 updated all nuget packages as expected. The build fails with the log below. Any help much appreciated.
1>------ Build started: Project: libsvgren, Configuration: v140_Debug x64 ------
1> FilterApplyer.cpp
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2039: 'MaskElement': is not a member of 'svgdom'
1> R:\src\test\svgren\msvs_solution\packages\libsvgdom.0.3.3\build\native\include\svgdom/Finder.hpp(9): note: see declaration of 'svgdom'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2143: syntax error: missing ',' before '&'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C3668: 'svgren::Renderer::visit': method with override specifier 'override' did not override any base class methods
1>..\..\src\svgren\FilterApplyer.cpp(348): warning C4311: 'type cast': pointer truncation from 'uint8_t *' to 'unsigned long'
1>..\..\src\svgren\FilterApplyer.cpp(348): warning C4302: 'type cast': truncation from 'uint8_t *' to 'unsigned long'
1>..\..\src\svgren\FilterApplyer.cpp(348): warning C4311: 'type cast': pointer truncation from 'uint8_t *const ' to 'unsigned long'
1>..\..\src\svgren\FilterApplyer.cpp(348): warning C4302: 'type cast': truncation from 'uint8_t *const ' to 'unsigned long'
1> render.cpp
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2039: 'MaskElement': is not a member of 'svgdom'
1> R:\src\test\svgren\msvs_solution\packages\libsvgdom.0.3.3\build\native\include\svgdom/Finder.hpp(9): note: see declaration of 'svgdom'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2143: syntax error: missing ',' before '&'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C3668: 'svgren::Renderer::visit': method with override specifier 'override' did not override any base class methods
1>..\..\src\svgren\render.cpp(30): error C2039: 'getDimensions': is not a member of 'svgdom::SvgElement'
1> r:\src\test\svgren\msvs_solution\packages\libsvgdom.0.3.3\build\native\include\svgdom\elements/Structurals.hpp(47): note: see declaration of 'svgdom::SvgElement'
1>..\..\src\svgren\render.cpp(32): error C3536: 'wh': cannot be used before it is initialized
1>..\..\src\svgren\render.cpp(32): error C2109: subscript requires array or pointer type
1>..\..\src\svgren\render.cpp(37): error C2109: subscript requires array or pointer type
1>..\..\src\svgren\render.cpp(38): error C2109: subscript requires array or pointer type
1>..\..\src\svgren\render.cpp(63): error C2109: subscript requires array or pointer type
1>..\..\src\svgren\render.cpp(64): error C2109: subscript requires array or pointer type
1>..\..\src\svgren\render.cpp(108): error C2109: subscript requires array or pointer type
1>..\..\src\svgren\render.cpp(108): error C2660: 'cairo_scale': function does not take 1 arguments
1>..\..\src\svgren\render.cpp(110): error C2109: subscript requires array or pointer type
1> Renderer.cpp
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2039: 'MaskElement': is not a member of 'svgdom'
1> R:\src\test\svgren\msvs_solution\packages\libsvgdom.0.3.3\build\native\include\svgdom/Finder.hpp(9): note: see declaration of 'svgdom'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2143: syntax error: missing ',' before '&'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C3668: 'svgren::Renderer::visit': method with override specifier 'override' did not override any base class methods
1>..\..\src\svgren\Renderer.cpp(5): fatal error C1083: Cannot open include file: 'svgdom/elements/CoordinateUnits.hpp': No such file or directory
1> util.cpp
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2039: 'MaskElement': is not a member of 'svgdom'
1> R:\src\test\svgren\msvs_solution\packages\libsvgdom.0.3.3\build\native\include\svgdom/Finder.hpp(9): note: see declaration of 'svgdom'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C2143: syntax error: missing ',' before '&'
1>r:\src\test\svgren\src\svgren\Renderer.hxx(121): error C3668: 'svgren::Renderer::visit': method with override specifier 'override' did not override any base class methods
1> Generating Code...
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Also might be worth noting that loading into VS2017 failed to get the nuget packages. Very much a 3rd order problem so one for another time.
Hello there.
Transform matrix in root element has no effect.
Thank for the coming fix.
root_matrix.svg.zip
I'm new to svgren and cairo, following the basic tutorial.
After obtaining std::vector<uint32>
by calling svgren::render(...)
, what should I do next with cairo to render the resulting data with a given cairo_surface_t *
?
Hi,
Would you, by any chance, have a CMake script to build your library? Or planned to make one eventually?
Thanks!
Hi there!
I've updated to 0.4.42 because of performance issue on our nice sport car.
Greats improvements! Car is rendered about 20 times faster!!!
Then I tried other (previously hard-rendered) svgs and alas... some of them crash
machupicchu.zip
.
Could you please locate and fix a problem?
Thanks in advance!
I created a svg with a <g> working as a library, so I can <use> its elements multiple times elsewhere. But hiding that library did not work using style="visibility:hidden".
I came across https://stackoverflow.com/a/20328945/3410351, so I tried style="opacity:0" and it actually hides the children of the GElement. However, those SVGs with <g style="visibility:hidden"> are not rendered correctly by SvgRen.
The <style>
element is not supported yet. Support for <style>
will require implementing CSS selector logic.
Hi there!
Thanks for the great lib.
I'd like to use it in further but unfortunately had encountered a problem.
I've got a svg that can't be properly processed (see attachment).
I realize that that svg is pretty complicated but still want to get it rendered.
Rendering it on my PC takes about a minute and gives a memory corruption as a result.
(google chrome spits it out in a few seconds)
Could you please locate the problem and fix it?
Implement relative "arcto" path step:
https://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegArcRel
When a group has a rotation transform, the rotation seems to be applied wrong. Here is the actual image:
And here is the rendering:
Here is the SVG file used:
test2.zip
Thanks again for making this, it is great to have a good open-source SVG renderer!
The <use>
element is not being rendered properly. I though that use
was supported since the code allows element references by id. I tried to render the following example without success:
<svg width="80" height="80" xmlns="http://www.w3.org/2000/svg">
<style>
.classA {
fill: red;
}
</style>
<defs>
<g id="Port">
<circle style="fill: inherit;" r="10"/>
</g>
</defs>
<text y="15">black</text>
<use x="50" y="10" href="#Port" />
<text y="35">red</text>
<use x="50" y="30" href="#Port" class="classA"/>
<text y="55">blue</text>
<use x="50" y="50" href="#Port" style="fill: blue;"/>
</svg>
It should look something like this:
This is what I get instead:
Some SVG Images have a viewbox in percent and they don't get rendered at all. See attached example.
I have a simple solution for this:
m_pImage = svgdom::load(papki::FSFile((LPCSTR)a_rFilename));
if (m_pImage != nullptr)
{
if (m_pImage->width.isPercent() )
{
int lViewboxWidth = m_pImage->viewBox[2] - m_pImage->viewBox[0];
int lViewboxHeight = m_pImage->viewBox[3] - m_pImage->viewBox[1];
if ((lViewboxWidth > 0) && (lViewboxHeight > 0))
{
m_pImage->width.value = lViewboxWidth;
m_pImage->width.unit = svgdom::Length::Unit_e::PX;
m_pImage->height.value = lViewboxHeight;
m_pImage->height.unit = svgdom::Length::Unit_e::PX;
}
}
std::vector<std::uint32_t> lImage = svgren::render(*m_pImage, m_OrigWidth, m_OrigHeight);
}
In my opinion it would make sense to integrate this into the renderer method.
button-add-viewbox.zip
In my case I create a mfc Bitmap with transparency from the rendered bytes. I found ot that I need to swap red and blue to get the correct colors. When I looked at the source code of the renderer method I found out that swap of red and blue is done in the renderer method as well.
In my case I wouldn't need the internal swap of red & blu at all. Now I need to to do it a second time to revert the internal swap.
Perhaps an aditional parameter of the renderer method could save the double swap times.
Currently there is a direct linkage to libpapki because of Cygwin environment. Need to fix packaging of all libs for cygwin, because dll's should go to /bin and .a and .dll.a should go to /lib in cygwin.
Actually, this might be an improvement for prorab even.
See https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Using_ld_the_GNU_Linker/win32.html for info.
A simple svg from wiki can not be rendered by svgren, while others tools spit it out easily.
A brief investigation shows that that svg doesn't contain explicit definition of size.
I do realize that we should know the size of memory buffer before render and nevertheless want to find a way to render such simple svg by default. Can you take a short glance on this and produce an idea?
test.svg.zip
Hi there!
I'm trying to get it working on android 4.0.4 and have troubles with unimplemented 'rand', 'srand' and some other functions.
The problem looks similar to this:
https://stackoverflow.com/questions/27338318/cannot-load-library-reloc-library1285-cannot-locate-rand
It works fine on devices with api >= 21 and crashes on older ones.
When I change platformVersion to 19 in build.gradle, I get an error: undefined reference to 'rand'..
Is it possible to use SvgRen on android with api less than 21?
Thanks in advance for any ideas and thoughts )
Hi, thanks for this library.
I found an issue with a svg file that causes crash in gradientGetFx method.
It seems "caster.radial" is not null so it passes the if-test but then radial points to deallocated memory so it crashes.
I cannot share the svg-file here but I can email it if you want.
take filter regions into use, do not apply filter effects to the whole canvas when not needed.
I am adding SVG support to a little hobby game I have. I made a test picture with Inkscape and tried to load it. Here are the results:
The body of the character in the in-game screenshot is rendered as a triangle. Here is the SVG file used:
test.zip
I it matters I am using 64 bit Windows 7, the latest svgren from GIT, libsvgdom.0.2.25 and cairo_static.1.15.4.1.
And also, a big thank you for making this library.
Trying to link svgren (min version from NuGet Package is 0.2.35) with svgdom library version 0.2.58 creates a few link errors:
libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::PathElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUPathElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::PathElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUPathElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::RectElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABURectElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::RectElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABURectElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::CircleElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUCircleElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::CircleElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUCircleElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::EllipseElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUEllipseElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::EllipseElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUEllipseElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::LineElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABULineElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::LineElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABULineElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::PolylineElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUPolylineElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::PolylineElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUPolylineElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::PolygonElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUPolygonElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::PolygonElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUPolygonElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::GElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUGElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::GElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUGElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::SvgElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUSvgElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::SvgElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUSvgElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::SymbolElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUSymbolElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::SymbolElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUSymbolElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::UseElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUUseElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::UseElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUUseElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::DefsElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUDefsElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::DefsElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUDefsElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::Gradient::StopElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUStopElement@Gradient@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::Gradient::StopElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUStopElement@Gradient@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::LinearGradientElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABULinearGradientElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::LinearGradientElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABULinearGradientElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::RadialGradientElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABURadialGradientElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::RadialGradientElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABURadialGradientElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::FilterElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUFilterElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::FilterElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUFilterElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::FeGaussianBlurElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUFeGaussianBlurElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::FeGaussianBlurElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUFeGaussianBlurElement@2@@Z) libsvgren.lib(render.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::ImageElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUImageElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2001: unresolved external symbol "public: virtual void __thiscall svgdom::ConstVisitor::visit(struct svgdom::ImageElement const &)" (?visit@ConstVisitor@svgdom@@UAEXABUImageElement@2@@Z) libsvgren.lib(Renderer.obj) : error LNK2019: unresolved external symbol "public: class std::array<float,2> __thiscall svgdom::FeGaussianBlurElement::getStdDeviation(void)const " (?getStdDeviation@FeGaussianBlurElement@svgdom@@QBE?AV?$array@M$01@std@@XZ) referenced in function "public: virtual void __thiscall
private: void __thiscall svgren::Renderer::applyFilter(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)'::`2'::FilterApplyer::visit(struct svgdom::FeGaussianBlurElement const &)" (?visit@FilterApplyer@?1??applyFilter@Renderer@svgren@@AAEXABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z@UAEXABUFeGaussianBlurElement@svgdom@@@z)
libsvgren.lib(Renderer.obj) : error LNK2019: unresolved external symbol "protected: void __thiscall svgdom::ConstVisitor::relayAccept(struct svgdom::Container const &)" (?relayAccept@ConstVisitor@svgdom@@IAEXABUContainer@2@@z) referenced in function "public: void __thiscall svgren::Renderer::relayAccept(struct svgdom::Container const &)" (?relayAccept@Renderer@svgren@@QAEXABUContainer@svgdom@@@z)
libsvgren.lib(Renderer.obj) : error LNK2019: unresolved external symbol "public: struct svgdom::StyleValue const * __thiscall svgdom::StyleStack::getStyleProperty(enum svgdom::StyleProperty_e)const " (?getStyleProperty@StyleStack@svgdom@@QBEPBUStyleValue@2@W4StyleProperty_e@2@@z) referenced in function "public: __thiscall svgren::Renderer::SetTempCairoContext::SetTempCairoContext(class svgren::Renderer &)" (??0SetTempCairoContext@Renderer@svgren@@QAE@AAV12@@z)
libsvgren.lib(Renderer.obj) : error LNK2019: unresolved external symbol "public: __thiscall svgdom::StyleStack::Push::Push(class svgdom::StyleStack &,struct svgdom::Styleable const &)" (??0Push@StyleStack@svgdom@@QAE@AAV12@ABUStyleable@2@@z) referenced in function "private: void __thiscall svgren::Renderer::renderSvgElement(struct svgdom::SvgElement const &,struct svgdom::Length const &,struct svgdom::Length const &)" (?renderSvgElement@Renderer@svgren@@AAEXABUSvgElement@svgdom@@ABULength@4@1@Z)
libsvgren.lib(Renderer.obj) : error LNK2019: unresolved external symbol "public: __thiscall svgdom::StyleStack::Push::~Push(void)" (??1Push@StyleStack@svgdom@@QAE@XZ) referenced in function "private: void __thiscall svgren::Renderer::renderSvgElement(struct svgdom::SvgElement const &,struct svgdom::Length const &,struct svgdom::Length const &)" (?renderSvgElement@Renderer@svgren@@AAEXABUSvgElement@svgdom@@ABULength@4@1@Z)
libsvgren.lib(Renderer.obj) : error LNK2019: unresolved external symbol "public: __thiscall svgdom::Finder::Finder(struct svgdom::Element const &)" (??0Finder@svgdom@@QAE@ABUElement@1@@z) referenced in function "public: __thiscall svgren::Renderer::Renderer(struct _cairo *,float,class std::array<float,2>,struct svgdom::SvgElement const &)" (??0Renderer@svgren@@QAE@PAU_cairo@@mv?$array@M$01@std@@ABUSvgElement@svgdom@@@z)
libsvgren.lib(Renderer.obj) : error LNK2019: unresolved external symbol "public: struct svgdom::Finder::ElementInfo const * __thiscall svgdom::Finder::findById(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)const " (?findById@Finder@svgdom@@QBEPBUElementInfo@12@ABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z) referenced in function "private: void __thiscall svgren::Renderer::setGradient(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?setGradient@Renderer@svgren@@AAEXABV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@@z)
`
I am new to all of these things and wanted to get my hands on SVG rendering and displaying.
I have VS2012 and tried to get svgren and its dependencies using VS2012 Manage Nuget Packages.
When I tried to include the files as described in the example, I run into all sort of issues. Would really appreciate if i can be provided with any pointers...
Here are the errors
1>------ Build started: Project: MyDiagramTest, Configuration: Debug Win32 ------
1> StdAfx.cpp
1> MyDiagram.cpp
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(10): error C2332: 'class' : missing tag name
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(10): error C2011: '' : 'enum' type redefinition
1> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\include\shlwapi.h(2278) : see declaration of ''
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(10): error C2143: syntax error : missing ',' before '...'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(10): error C2998: 'std::unique_ptr utki::makeUnique' : cannot be a template definition
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(32): error C2332: 'class' : missing tag name
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(32): error C2011: '' : 'enum' type redefinition
1> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\include\shlwapi.h(2278) : see declaration of ''
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(32): error C2143: syntax error : missing ',' before '...'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(32): error C2065: 'Args' : undeclared identifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(32): error C2988: unrecognizable template declaration/definition
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(32): error C2059: syntax error : '...'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki/Unique.hpp(38): error C2143: syntax error : missing ';' before '}'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(28): error C2146: syntax error : missing ',' before identifier 'noexcept'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(28): error C2065: 'noexcept' : undeclared identifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(31): error C2059: syntax error : ';'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(31): error C2238: unexpected token(s) preceding ';'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(32): error C2059: syntax error : ';'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(32): error C2238: unexpected token(s) preceding ';'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(42): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(53): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(39): error C2780: '_OutTy *std::move(_InIt,_InIt,_OutTy (&)[_OutSize])' : expects 3 arguments - 1 provided
1> D:\Program Files\vs2012\VC\include\xutility(2556) : see declaration of 'std::move'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(39): error C2780: '_OutIt std::move(_InIt,_InIt,_OutIt)' : expects 3 arguments - 1 provided
1> D:\Program Files\vs2012\VC\include\xutility(2543) : see declaration of 'std::move'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(39): error C2893: Failed to specialize function template 'remove_reference<_Ty>::type &&std::move(_Ty &&) throw()'
1> With the following template arguments:
1> 'std::function &'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(40): error C2542: 'utki::ScopeExit::f' : class object has no constructor for initialization
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(43): error C2451: conditional expression of type 'std::function' is illegal
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(44): error C2064: term does not evaluate to a function taking 0 arguments
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(54): error C2780: '_OutTy *std::move(_InIt,_InIt,_OutTy (&)[_OutSize])' : expects 3 arguments - 1 provided
1> D:\Program Files\vs2012\VC\include\xutility(2556) : see declaration of 'std::move'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(54): error C2780: '_OutIt std::move(_InIt,_InIt,_OutIt)' : expects 3 arguments - 1 provided
1> D:\Program Files\vs2012\VC\include\xutility(2543) : see declaration of 'std::move'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(54): error C2893: Failed to specialize function template 'remove_reference<_Ty>::type &&std::move(_Ty &&) throw()'
1> With the following template arguments:
1> 'std::function &'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(55): error C2678: binary '=' : no operator found which takes a left-hand operand of type 'std::function' (or there is no acceptable conversion)
1> D:\Program Files\vs2012\VC\include\functional(689): could be 'std::function<_Fty> &std::function<_Fty>::operator =(_Fx &&)'
1> with
1> [
1> _Fx=nullptr
1> ]
1> D:\Program Files\vs2012\VC\include\functional(641): or 'std::function<_Fty> &std::function<_Fty>::operator =(const std::function<_Fty> &)'
1> D:\Program Files\vs2012\VC\include\functional(651): or 'std::function<_Fty> &std::function<_Fty>::operator =(std::function<_Fty> &)'
1> D:\Program Files\vs2012\VC\include\functional(678): or 'std::function<_Fty> &std::function<_Fty>::operator =(std::function<_Fty> &&)'
1> D:\Program Files\vs2012\VC\include\functional(704): or 'std::function<_Fty> &std::function<_Fty>::operator =(std::nullptr_t)'
1> while trying to match the argument list '(std::function, nullptr)'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(55): error C2582: 'operator =' function is unavailable in 'std::function'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(56): error C3536: 'ret': cannot be used before it is initialized
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(56): error C2663: 'std::function<_Fty>::function' : 8 overloads have no legal conversion for 'this' pointer
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(73): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(104): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(119): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(132): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(151): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(164): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(175): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(175): error C2039: 'uint16_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(175): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(192): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(192): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(192): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(193): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(196): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(199): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(202): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(216): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(216): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(216): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(217): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(220): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(223): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(226): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(229): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(232): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(235): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(238): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(252): error C2039: 'uint16_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(252): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(252): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(253): error C2039: 'uint16_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(256): error C2039: 'uint16_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(258): error C2039: 'uint16_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(272): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(272): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(272): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(273): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(276): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(278): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(280): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(282): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(296): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(296): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(296): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(297): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(300): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(302): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(304): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(306): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(308): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(310): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(312): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(314): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(329): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(329): error C2039: 'uint16_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(329): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(346): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(346): error C2039: 'uint32_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(346): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(347): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(349): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(351): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(353): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(367): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(367): error C2039: 'uint64_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(367): error C3646: 'noexcept' : unknown override specifier
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(368): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(370): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(372): error C2039: 'uint8_t' : is not a member of 'std'
1>d:\MyProject\packages\libutki.1.0.32\build\native\include\utki\util.hpp(372): fatal error C1003: error count exceeds 100; stopping compilation
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.