Giter Site home page Giter Site logo

geojson-vt-cpp's Introduction

geojson-vt-cpp

Port to C++ of JS GeoJSON-VT for slicing GeoJSON into vector tiles on the fly.

Build Status

geojson-vt-cpp's People

Contributors

1ec5 avatar alexshalamov avatar ansis avatar artemp avatar brunoabinader avatar district10 avatar incanus avatar jfirebaugh avatar kkaefer avatar mikemorris avatar mourner avatar nagineni avatar pozdnyakov avatar tmcw avatar tmpsantos avatar waldyrious avatar yhahn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

geojson-vt-cpp's Issues

When clip a non-convex polygon, expect to return multiple linear_ring, but got a degenerated version...

TEST(Clip, MyDynamicPolygon) {
    detail::vt_linear_ring ring;
    {
        ring.push_back({ 0, 0 });
        ring.push_back({ 1, 6 });
        ring.push_back({ 2, 0 });
        ring.push_back({ 3, 6 });
        ring.push_back({ 4, 0 });
        ring.push_back({ 4, 10 });
        ring.push_back({ 0, 10 });
        ring.push_back({ 0, 0 });
    }
    const detail::vt_polygon polygon{ ring };
    const auto clipY = detail::clipper<1>{ 2, 4 };
    const auto clipped = clipY(polygon); //由于原始输入polygon非凸,裁剪的结果可能是多个polygon。。。
    //根据这里的输入数据,clip的结果应该是3个polygon(linear_ring), 对应3个小梯形
    std::cout << "clipped.size()=" << clipped.size() << std::endl;
    {
        int ringIndex = 0;
        for (auto&& ring : clipped) {
            std::cout << "ring#" << ringIndex << ": ";
            for (auto&& point : ring){
                std::cout << "(" << point.x << "," << point.y << ") ";
            }
            std::cout << std::endl;
            ++ringIndex;
        }
    }
    //这里结果应该是3个polygon(梯形),但结果得到一个linear_ring,退化的版本?
    const auto clipX = detail::clipper<0>{ 1, 3 };
    const auto clipped2 = clipX(clipped);
    std::cout << "clipped2.size()=" << clipped2.size() << std::endl;
    {
        int ringIndex = 0;
        for (auto&& ring : clipped2) {
            std::cout << "ring#" << ringIndex << ": ";
            for (auto&& point : ring){
                std::cout << "(" << point.x << "," << point.y << ") ";
            }
            std::cout << std::endl;
            ++ringIndex;
        }
    }
    std::cout << "ok" << std::endl;
}

Output:

clipped.size()=1
ring#0: (0.333333,2) (0.666667,4) (1.33333,4) (1.66667,2) (2.33333,2) (2.66667,4) (3.33333,4) (3.66667,2) (4,2) (4,4) (0,4) (0,2) (0.333333,2)
clipped2.size()=1
ring#0: (1,4) (1.33333,4) (1.66667,2) (2.33333,2) (2.66667,4) (3,4) (3,4) (1,4)

I expect clipped.size()=3 here, but it doesn't

rename files

Seems like the files in src could be renamed to remove the geojsonvt_ prefix since this is now an external library.

undefined reference to `mapbox::geojson::parse`

When I run make debug, I get these errors:

g++  -I include -std=c++14 -Wall -Wextra -g -O0 -DDEBUG debug/debug.cpp -o build/debug `.mason/mason cflags variant 1.1.4` `.mason/mason cflags geometry 0.9.2` `.mason/mason cflags geojson 0.4.0` `.mason/mason static_libs geojson 0.4.0` `.mason/mason cflags glfw 3.1.2` `.mason/mason static_libs glfw 3.1.2` `.mason/mason ldflags glfw 3.1.2`
/tmp/ccb9EvOZ.o: In function `main::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#2}::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
/home/studio/aman/geojson-vt-cpp/debug/debug.cpp:95: undefined reference to `mapbox::geojson::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
Makefile:41: recipe for target 'build/debug' failed
make: *** [build/debug] Error 1

I've run make mason_packages/headers/geometry and it says it successfully installed all packages but still the error is there. What could be the cause?

Thank you for any help!

Converting from geometry.hpp to internal representation

Currently, convert.cpp code converts from GeoJSON data in RapidJSON representation to GeoJSON-VT internal representation, which is implemented using Projected* types (basically, OGC features with a third coordinate for simplification value + bounding boxes, and additionally storing polygon area + line length for each linear ring).

To switch to a geometry.hpp-powered GeoJSON-VT-C++ in Mapbox GL Native, we need to make it possible to create GeoJSON-VT index from structures in the code directly, without the GeoJSON step. Currently this is done in hacky way by exposing Projected* classes from GeoJSON-VT and then reconstructing them in https://github.com/mapbox/mapbox-gl-native/blob/master/src/mbgl/annotation/shape_annotation_impl.cpp.

Instead we would need to either have separate convert_geojson and convert_geometry code paths, or just fully ditch GeoJSON conversion and only accept geometry.hpp for the input, moving the GeoJSON parsing responsibility to GL Native.

cc @artemp @jfirebaugh

Recreate (partial) geometry from tiles

I wonder how it's possible to generate a (partial) single geometry which has been sliced. So say, I have a geometry spanning over 6 tiles in total, for of these tiles are within the visible area: How can I create a single geometry (WKT / WKB) from the visible tiles?

Cheers
Ben

Building fails

I'm building with gcc 8.1.1 (ArchLinux), mason is present:

* Installed binary package at /home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0
g++  -I include -std=c++14 -Wall -Wextra -g -O0 -DDEBUG test/test.cpp test/util.cpp -o build/test `../mason/mason cflags variant 1.1.5` `../mason/mason cflags geometry 0.9.2` `../mason/mason cflags geojson 0.4.2` `../mason/mason cflags gtest 1.8.0` `../mason/mason static_libs gtest 1.8.0` `../mason/mason ldflags gtest 1.8.0` `../mason/mason cflags rapidjson 1.1.0`
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In Instanziierung von »void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>; rapidjson::SizeType = unsigned int]«:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2363:9:   erfordert durch »bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1736:18:   erfordert durch »rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2240:41:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:230:12:   erfordert durch »T mapbox::geojson::parse(const string&) [with T = mapbox::util::variant<mapbox::geometry::geometry<double>, mapbox::geometry::feature<double>, mapbox::geometry::feature_collection<double, std::vector> >; std::__cxx11::string = std::__cxx11::basic_string<char>]«
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:247:31:   von hier erfordert
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1952:24: Warnung: »void* memcpy(void*, const void*, size_t)« Schreibzugriff auf ein Objekt des Typs »rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member« {aka »struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>«} ohne triviale Kopierzuweisung; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:71:8: Anmerkung: »rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member« {aka »struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>«} wird hier deklariert
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In Instanziierung von »void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]«:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2371:9:   erfordert durch »bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1766:18:   erfordert durch »rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2240:41:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:230:12:   erfordert durch »T mapbox::geojson::parse(const string&) [with T = mapbox::util::variant<mapbox::geometry::geometry<double>, mapbox::geometry::feature<double>, mapbox::geometry::feature_collection<double, std::vector> >; std::__cxx11::string = std::__cxx11::basic_string<char>]«
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:247:31:   von hier erfordert
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1939:24: Warnung: »void* memcpy(void*, const void*, size_t)« Schreibzugriff auf ein Objekt des Typs »class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>« ohne triviale Kopierzuweisung; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:540:7: Anmerkung: »class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>« wird hier deklariert
 class GenericValue {
       ^~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In Instanziierung von »void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>; rapidjson::SizeType = unsigned int]«:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2363:9:   erfordert durch »bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1736:18:   erfordert durch »rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]«
test/util.cpp:182:28:   von hier erfordert
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1952:24: Warnung: »void* memcpy(void*, const void*, size_t)« Schreibzugriff auf ein Objekt des Typs »rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member« {aka »struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>«} ohne triviale Kopierzuweisung; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:71:8: Anmerkung: »rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member« {aka »struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>«} wird hier deklariert
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In Instanziierung von »void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]«:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2371:9:   erfordert durch »bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1766:18:   erfordert durch »rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   erfordert durch »rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]«
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   erfordert durch »rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]«
test/util.cpp:182:28:   von hier erfordert
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1939:24: Warnung: »void* memcpy(void*, const void*, size_t)« Schreibzugriff auf ein Objekt des Typs »class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>« ohne triviale Kopierzuweisung; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:540:7: Anmerkung: »class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>« wird hier deklariert
 class GenericValue {
       ^~~~~~~~~~~~
/tmp/ccetSGTj.o: In Funktion »GetTile_Projection_Test::TestBody()«:
/home/jk/tools/geojson-vt-cpp/test/test.cpp:253: Warnung: undefinierter Verweis auf »testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)«
/tmp/ccetSGTj.o: In Funktion »testing::internal::PrintTo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest-printers.h:566: Warnung: undefinierter Verweis auf »testing::internal::PrintStringTo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*)«
/tmp/ccetSGTj.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperFloatingPointEQ<double>(char const*, char const*, double, double)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: Warnung: undefinierter Verweis auf »testing::internal::StringStreamToString(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)«
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: Warnung: undefinierter Verweis auf »testing::internal::StringStreamToString(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)«
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccetSGTj.o: In Funktion »std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > testing::internal::DefaultParamName<Arguments>(testing::TestParamInfo<Arguments> const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/internal/gtest-param-util.h:380: Warnung: undefinierter Verweis auf »testing::Message::GetString[abi:cxx11]() const«
/tmp/ccetSGTj.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > >(char const*, char const*, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > const&, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccetSGTj.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection>, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> >(char const*, char const*, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> const&, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccetSGTj.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<bool, bool>(char const*, char const*, bool const&, bool const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccetSGTj.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<int, unsigned int>(char const*, char const*, int const&, unsigned int const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccetSGTj.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned int, unsigned int>(char const*, char const*, unsigned int const&, unsigned int const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccetSGTj.o:/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: weitere undefinierte Verweise auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)« folgen
/tmp/ccetSGTj.o: In Funktion »testing::internal::ParameterizedTestCaseInfo<TileTest>::RegisterTests()«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/internal/gtest-param-util.h:586: Warnung: undefinierter Verweis auf »testing::Message::GetString[abi:cxx11]() const«
/tmp/ccRCBth3.o: In Funktion »mapbox::geojsonvt::operator==(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::feature_collection<short, std::vector>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::feature_collection<short, std::vector> > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::feature_collection<short, std::vector>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::feature_collection<short, std::vector> > > > const&)«:
/home/jk/tools/geojson-vt-cpp/test/util.cpp:66: Warnung: undefinierter Verweis auf »testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)«
/home/jk/tools/geojson-vt-cpp/test/util.cpp:73: Warnung: undefinierter Verweis auf »testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)«
/tmp/ccRCBth3.o: In Funktion »mapbox::geojsonvt::parseJSONTile(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::CrtAllocator> const&)«:
/home/jk/tools/geojson-vt-cpp/test/util.cpp:91: Warnung: undefinierter Verweis auf »testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)«
/home/jk/tools/geojson-vt-cpp/test/util.cpp:125: Warnung: undefinierter Verweis auf »testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)«
/home/jk/tools/geojson-vt-cpp/test/util.cpp:131: Warnung: undefinierter Verweis auf »testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)«
/tmp/ccRCBth3.o:/home/jk/tools/geojson-vt-cpp/test/util.cpp:138: Warnung: weitere undefinierte Verweise auf »testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)« folgen
/tmp/ccRCBth3.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<std::type_info, std::type_info>(char const*, char const*, std::type_info const&, std::type_info const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccRCBth3.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > >(char const*, char const*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccRCBth3.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(char const*, char const*, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
/tmp/ccRCBth3.o: In Funktion »testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned long, unsigned long>(char const*, char const*, unsigned long const&, unsigned long const&)«:
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: Warnung: undefinierter Verweis auf »testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)«
collect2: Fehler: ld gab 1 als Ende-Status zurück
make: *** [Makefile:44: build/test] Fehler 1
[jk@jimmy geojson-vt-cpp]$ LC_ALL=C make
g++  -I include -std=c++14 -Wall -Wextra -g -O0 -DDEBUG test/test.cpp test/util.cpp -o build/test `../mason/mason cflags variant 1.1.5` `../mason/mason cflags geometry 0.9.2` `../mason/mason cflags geojson 0.4.2` `../mason/mason cflags gtest 1.8.0` `../mason/mason static_libs gtest 1.8.0` `../mason/mason ldflags gtest 1.8.0` `../mason/mason cflags rapidjson 1.1.0`
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2363:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1736:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2240:41:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:230:12:   required from 'T mapbox::geojson::parse(const string&) [with T = mapbox::util::variant<mapbox::geometry::geometry<double>, mapbox::geometry::feature<double>, mapbox::geometry::feature_collection<double, std::vector> >; std::__cxx11::string = std::__cxx11::basic_string<char>]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:247:31:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1952:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} with no trivial copy-assignment; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:71:8: note: 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} declared here
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2371:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1766:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2240:41:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:230:12:   required from 'T mapbox::geojson::parse(const string&) [with T = mapbox::util::variant<mapbox::geometry::geometry<double>, mapbox::geometry::feature<double>, mapbox::geometry::feature_collection<double, std::vector> >; std::__cxx11::string = std::__cxx11::basic_string<char>]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:247:31:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1939:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:540:7: note: 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' declared here
 class GenericValue {
       ^~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2363:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1736:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
test/util.cpp:182:28:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1952:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} with no trivial copy-assignment; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:71:8: note: 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} declared here
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2371:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1766:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
test/util.cpp:182:28:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1939:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:540:7: note: 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' declared here
 class GenericValue {
       ^~~~~~~~~~~~
/tmp/ccoJfqg6.o: In function `GetTile_Projection_Test::TestBody()':
/home/jk/tools/geojson-vt-cpp/test/test.cpp:253: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/tmp/ccoJfqg6.o: In function `testing::internal::PrintTo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest-printers.h:566: undefined reference to `testing::internal::PrintStringTo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*)'
/tmp/ccoJfqg6.o: In function `testing::AssertionResult testing::internal::CmpHelperFloatingPointEQ<double>(char const*, char const*, double, double)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: undefined reference to `testing::internal::StringStreamToString(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: undefined reference to `testing::internal::StringStreamToString(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccoJfqg6.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > testing::internal::DefaultParamName<Arguments>(testing::TestParamInfo<Arguments> const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/internal/gtest-param-util.h:380: undefined reference to `testing::Message::GetString[abi:cxx11]() const'
/tmp/ccoJfqg6.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > >(char const*, char const*, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > const&, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccoJfqg6.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection>, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> >(char const*, char const*, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> const&, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccoJfqg6.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<bool, bool>(char const*, char const*, bool const&, bool const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccoJfqg6.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<int, unsigned int>(char const*, char const*, int const&, unsigned int const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccoJfqg6.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned int, unsigned int>(char const*, char const*, unsigned int const&, unsigned int const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccoJfqg6.o:/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: more undefined references to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' follow
/tmp/ccoJfqg6.o: In function `testing::internal::ParameterizedTestCaseInfo<TileTest>::RegisterTests()':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/internal/gtest-param-util.h:586: undefined reference to `testing::Message::GetString[abi:cxx11]() const'
/tmp/ccwVRcy4.o: In function `mapbox::geojsonvt::operator==(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::feature_collection<short, std::vector>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::feature_collection<short, std::vector> > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::feature_collection<short, std::vector>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::feature_collection<short, std::vector> > > > const&)':
/home/jk/tools/geojson-vt-cpp/test/util.cpp:66: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/home/jk/tools/geojson-vt-cpp/test/util.cpp:73: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/tmp/ccwVRcy4.o: In function `mapbox::geojsonvt::parseJSONTile(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::CrtAllocator> const&)':
/home/jk/tools/geojson-vt-cpp/test/util.cpp:91: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/home/jk/tools/geojson-vt-cpp/test/util.cpp:125: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/home/jk/tools/geojson-vt-cpp/test/util.cpp:131: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/tmp/ccwVRcy4.o:/home/jk/tools/geojson-vt-cpp/test/util.cpp:138: more undefined references to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' follow
/tmp/ccwVRcy4.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::type_info, std::type_info>(char const*, char const*, std::type_info const&, std::type_info const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccwVRcy4.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > >(char const*, char const*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccwVRcy4.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(char const*, char const*, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccwVRcy4.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned long, unsigned long>(char const*, char const*, unsigned long const&, unsigned long const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:44: build/test] Error 1
[jk@jimmy geojson-vt-cpp]$ LC_ALL=C make > /tmp/error
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2363:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1736:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2240:41:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:230:12:   required from 'T mapbox::geojson::parse(const string&) [with T = mapbox::util::variant<mapbox::geometry::geometry<double>, mapbox::geometry::feature<double>, mapbox::geometry::feature_collection<double, std::vector> >; std::__cxx11::string = std::__cxx11::basic_string<char>]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:247:31:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1952:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} with no trivial copy-assignment; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:71:8: note: 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} declared here
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson/rapidjson.hpp:3,
                 from /home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:4,
                 from test/test.cpp:4:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2371:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1766:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2240:41:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:230:12:   required from 'T mapbox::geojson::parse(const string&) [with T = mapbox::util::variant<mapbox::geometry::geometry<double>, mapbox::geometry::feature<double>, mapbox::geometry::feature_collection<double, std::vector> >; std::__cxx11::string = std::__cxx11::basic_string<char>]'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/geojson/0.4.2/include/mapbox/geojson_impl.hpp:247:31:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1939:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:540:7: note: 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' declared here
 class GenericValue {
       ^~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2363:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1736:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
test/util.cpp:182:28:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1952:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} with no trivial copy-assignment; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:71:8: note: 'rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>::Member' {aka 'struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::CrtAllocator>'} declared here
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from test/util.cpp:14:
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h: In instantiation of 'void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]':
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2371:9:   required from 'bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::SizeType = unsigned int]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1766:18:   required from 'rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:1832:58:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/reader.h:487:46:   required from 'rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 0; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::CrtAllocator>; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2159:22:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2224:55:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const typename SourceEncoding::Ch*) [with unsigned int parseFlags = 0; SourceEncoding = rapidjson::UTF8<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; typename SourceEncoding::Ch = char]'
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:2233:43:   required from 'rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Parse(const Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::CrtAllocator; StackAllocator = rapidjson::CrtAllocator; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]'
test/util.cpp:182:28:   required from here
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:1939:24: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jk/tools/geojson-vt-cpp/mason_packages/headers/rapidjson/1.1.0/include/rapidjson/document.h:540:7: note: 'class rapidjson::GenericValue<rapidjson::UTF8<>, rapidjson::CrtAllocator>' declared here
 class GenericValue {
       ^~~~~~~~~~~~
/tmp/cchBcYrw.o: In function `GetTile_Projection_Test::TestBody()':
/home/jk/tools/geojson-vt-cpp/test/test.cpp:253: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/tmp/cchBcYrw.o: In function `testing::internal::PrintTo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest-printers.h:566: undefined reference to `testing::internal::PrintStringTo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*)'
/tmp/cchBcYrw.o: In function `testing::AssertionResult testing::internal::CmpHelperFloatingPointEQ<double>(char const*, char const*, double, double)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: undefined reference to `testing::internal::StringStreamToString(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: undefined reference to `testing::internal::StringStreamToString(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)'
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1653: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/cchBcYrw.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > testing::internal::DefaultParamName<Arguments>(testing::TestParamInfo<Arguments> const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/internal/gtest-param-util.h:380: undefined reference to `testing::Message::GetString[abi:cxx11]() const'
/tmp/cchBcYrw.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > >(char const*, char const*, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > const&, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> > const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/cchBcYrw.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection>, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> >(char const*, char const*, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> const&, mapbox::util::variant<mapbox::geojsonvt::detail::vt_point, mapbox::geojsonvt::detail::vt_line_string, std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::vector<mapbox::geojsonvt::detail::vt_point, std::allocator<mapbox::geojsonvt::detail::vt_point> >, std::vector<mapbox::geojsonvt::detail::vt_line_string, std::allocator<mapbox::geojsonvt::detail::vt_line_string> >, std::vector<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> >, std::allocator<std::vector<mapbox::geojsonvt::detail::vt_linear_ring, std::allocator<mapbox::geojsonvt::detail::vt_linear_ring> > > >, mapbox::geojsonvt::detail::vt_geometry_collection> const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/cchBcYrw.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<bool, bool>(char const*, char const*, bool const&, bool const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/cchBcYrw.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<int, unsigned int>(char const*, char const*, int const&, unsigned int const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/cchBcYrw.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned int, unsigned int>(char const*, char const*, unsigned int const&, unsigned int const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/cchBcYrw.o:/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: more undefined references to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)' follow
/tmp/cchBcYrw.o: In function `testing::internal::ParameterizedTestCaseInfo<TileTest>::RegisterTests()':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/internal/gtest-param-util.h:586: undefined reference to `testing::Message::GetString[abi:cxx11]() const'
/tmp/ccafLPY8.o: In function `mapbox::geojsonvt::operator==(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::feature_collection<short, std::vector>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::feature_collection<short, std::vector> > > > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::feature_collection<short, std::vector>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::feature_collection<short, std::vector> > > > const&)':
/home/jk/tools/geojson-vt-cpp/test/util.cpp:66: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/home/jk/tools/geojson-vt-cpp/test/util.cpp:73: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/tmp/ccafLPY8.o: In function `mapbox::geojsonvt::parseJSONTile(rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::CrtAllocator> const&)':
/home/jk/tools/geojson-vt-cpp/test/util.cpp:91: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/home/jk/tools/geojson-vt-cpp/test/util.cpp:125: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/home/jk/tools/geojson-vt-cpp/test/util.cpp:131: undefined reference to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)'
/tmp/ccafLPY8.o:/home/jk/tools/geojson-vt-cpp/test/util.cpp:138: more undefined references to `testing::internal::GetBoolAssertionFailureMessage[abi:cxx11](testing::AssertionResult const&, char const*, char const*, char const*)' follow
/tmp/ccafLPY8.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::type_info, std::type_info>(char const*, char const*, std::type_info const&, std::type_info const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccafLPY8.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > >, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > >(char const*, char const*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, mapbox::geometry::value, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, mapbox::geometry::value> > > const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccafLPY8.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(char const*, char const*, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::experimental::fundamentals_v1::optional<mapbox::util::variant<unsigned long, long, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
/tmp/ccafLPY8.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<unsigned long, unsigned long>(char const*, char const*, unsigned long const&, unsigned long const&)':
/home/jk/tools/geojson-vt-cpp/mason_packages/linux-x86_64/gtest/1.8.0/include/gtest/gtest.h:1382: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:44: build/test] Error 1

remove "util" namespace nesting

mapbox::geojsonvt is a sufficiently unique namespace without util. Omitting util will mean fewer characters in client code and match the include path with the namespace.

If we include this in the 3.0 release (along with #23) we don't need to maintain backward compatibility.

remove mutex

This one

Synchronization of a shared GeoJSONVT instance should be the client's responsibility.

remove geojsonvt_ from include file names

The includes are already in a geojsonvt subdirectory, so prefixing the file names is unnecessary redundancy. Including should instead look like:

#include <mapbox/geojsonvt/types.hpp>

Or, for the omnibus:

#include <mapbox/geojsonvt.hpp>

Reorder fields to save memory

Some structs have fields that are ordered so that there is a lot of empty space due to memory alignment. Add -Wpadded to find out more.

Missing some validation checks in InternalTile::transform()

  • When simplifying a line string, the transformed line string should have 2 or more points. Otherwise, it should return an empty line string.
  • When simplifying a linear ring, the transformed linear ring should have 3 or more points. Otherwise, it should return an empty linear ring.
  • When simplifying a polygon, the transformed polygon should have one exterior ring at first. If exterior ring is ignored, it should return an empty polygon.

These validation checks should be considered to follow GeoJSON specifications.

Protect against invalid type access in Convert::calcBBox

The backtraces from mapbox/mapbox-gl-native#3926 indicate that a null feature geometry is being passed to Convert::calcBBox. The current code does not protect from this. We should fix this by using the visitor pattern (ideally) or at least by calling feature.geometry.is<type>() before calling feature.geometry.get<type>().

This commit 274f715 fixed this up for addFeature, but a potential std::runtime_error will still be triggered at https://github.com/mapbox/geojson-vt-cpp/blob/master/src/convert.cpp#L262.

Make all parameters configurable

Currently the constructor accepts a fixed number of arguments for parameters, and all others (in particular buffer) are hardcoded.

We need to make every parameter configurable (like in JS). To keep the constructor sane, we should also switch to passing a map of options rather than a flat list.

This is pretty important because we want to bump default annotation tiles buffer in mapbox-gl-native. (related: mapbox/mapbox-gl-native#1673)

Another issue is that mapbox-gl-native got some parameters hardcoded to values which are now way different in GeoJSON-VT.

cc @jfirebaugh @incanus @mikemorris

release with gl-native

Branched my initial import into master as of a36ee82, then cherry-picked the non-GYP-related commits such as code style, RapidJSON headers, and getting rid of the bool() operator. Pushed this to non-gyp, which I will integrate into gl-native as a submodule until our GYP woes here are through.

/cc @kkaefer

Segfault on invalid coordinates

coordinates: [] or coordinates: [[], [10, 10]] causes a segfault because we access the arrays before checking their size.

Option to prevent simplification for simple polygons

For instance, sometimes geojson-vt-cpp simplifies a very thin rectangle polygon to a sharp triangle.
Although a thin rectangle and a sharp triangle are similar in area and direction, the reduced vertex in such simple polygon shows noticeable change in human eye.

I think some option to prevent simplification for simple polygons would be useful.
For instance, with an integer n, geojson-vt-cpp would not simplify a geometry whose vertex count is less than n.

complier error in mapbox variant use geojson-vt-cpp

code below:
#include
#include "pugixml/pugixml.hpp"
#include <mapbox/geojsonvt.hpp>
#include <mapbox/geojson.hpp>
#include <mapbox/geojson_impl.hpp>

use lately geojson, mapbox variant, mapbox geometry source code, result to error:
no match for call to ‘(mapbox::geojson::to_value) (const std::shared_ptr<std::vectormapbox::feature::value >&)’ xtTrafficToTile D:\workspace2\test\xtTrafficToTile\xtTrafficToTile\third_party\mapbox\variant.hpp 332

How to convert from mvt to geojson?

I searched all over git and found that there is no c++ library for converting from mvt to geojson, what should I do?
I don't know what those integer arrays mean or how to get the actual lat/lon values.
For example, "LINESTRING[count=4](1259 3111, 1301 3154, 1241 3207, 1283 3256)", how to get the actual latitude and longitude value of the midpoint?

configure: confusion about pyhton version.

I can not configure geojson-vt-cpp, due to:

0 ✓ user@x230 ~/some/path/geojson-vt-cpp $ ./configure 
Submodule '.mason' (https://github.com/mapbox/mason.git) registered for path '.mason'
Cloning into '.mason'...
remote: Counting objects: 3447, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3447 (delta 0), reused 0 (delta 0), pack-reused 3444
Receiving objects: 100% (3447/3447), 1.31 MiB | 860.00 KiB/s, done.
Resolving deltas: 100% (1142/1142), done.
Checking connectivity... done.
Submodule path '.mason': checked out '6b1f381d9cdfdf98586961c122722bc6f803ce57'
* Loading install script 'https://github.com/mapbox/mason/blob/rapidjson-1.0.2/script.sh'...
* Downloading binary package headers/rapidjson/1.0.2.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 68766  100 68766    0     0  58866      0  0:00:01  0:00:01 --:--:-- 58875
* Installed binary package at /home/user/some/path/geojson-vt-cpp/mason_packages/headers/rapidjson/1.0.2
  File "<string>", line 1
    import sys, re; print filter(None, re.split('(?<!-framework)\s+', ' '.join(sys.argv[1:])))
                               ^
SyntaxError: invalid syntax

The issue is with line 26:

https://github.com/mapbox/geojson-vt-cpp/blob/master/configure#L26

python refers to python 3.5 but this line is clearly asking for python 2.7:

0 ✓ user@x230 ~/some/path/geojson-vt-cpp $ python --version
Python 3.5.1
0 ✓ user@x230 ~/some/path/geojson-vt-cpp $ python2 --version
Python 2.7.11

Not sure whether this is OS specific, on Archlinux python command always points to python 3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.