Hi Karim! Are you still maintaining this awesome tool? If so, just wanted to point out I'm having issues building the repo on a Mac OSX V10.12.3. I downloaded all the 3rd party resources (the right commit version) and was able to set up my build/
folder. But when i execute cmake --build build
I'm getting:
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:349:13: error: no template named 'Earcut' in namespace 'mapbox'; did you mean 'earcut'?
mapbox::Earcut<float, unsigned int> earcut;
~~~~~~~~^~~~~~
earcut
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:768:16: note: 'earcut' declared here
std::vector<N> earcut(const Polygon& poly) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:349:19: error: expected ';' after expression
mapbox::Earcut<float, unsigned int> earcut;
^
;
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:349:41: error: use of undeclared identifier 'earcut'; did you mean 'mapbox::earcut'?
mapbox::Earcut<float, unsigned int> earcut;
^~~~~~
mapbox::earcut
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:768:16: note: 'mapbox::earcut' declared here
std::vector<N> earcut(const Polygon& poly) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:349:41: error: reference to overloaded function could not be resolved; did you mean to call it?
mapbox::Earcut<float, unsigned int> earcut;
^~~~~~
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:768:16: note: possible target for call
std::vector<N> earcut(const Polygon& poly) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:351:5: error: use of undeclared identifier 'earcut'; did you mean 'mapbox::earcut'?
earcut(polygon);
^~~~~~
mapbox::earcut
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:768:16: note: 'mapbox::earcut' declared here
std::vector<N> earcut(const Polygon& poly) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:355:9: error: use of undeclared identifier 'earcut'; did you mean 'mapbox::earcut'?
if (earcut.indices.size() == 0) {
^~~~~~
mapbox::earcut
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:768:16: note: 'mapbox::earcut' declared here
std::vector<N> earcut(const Polygon& poly) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:355:9: error: reference to overloaded function could not be resolved; did you mean to call it?
if (earcut.indices.size() == 0) {
^~~~~~
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:768:16: note: possible target for call
std::vector<N> earcut(const Polygon& poly) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:360:32: error: use of undeclared identifier 'earcut'
outIndices = std::move(earcut.indices);
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:362:48: error: use of undeclared identifier 'earcut'
outIndices.reserve(outIndices.size() + earcut.indices.size());
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:364:23: error: use of undeclared identifier 'earcut'
for (auto i : earcut.indices) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:371:46: error: use of undeclared identifier 'earcut'
outVertices.reserve(outVertices.size() + earcut.vertices.size());
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:375:20: error: use of undeclared identifier 'earcut'
for (auto& p : earcut.vertices) {
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:349:5: warning: expression result unused [-Wunused-value]
mapbox::Earcut<float, unsigned int> earcut;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/ire/Downloads/vectiler-master/src/vectiler.cpp:13:
In file included from /Users/ire/Downloads/vectiler-master/src/earcut.h:3:
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:134:15: error: member reference base type 'const unsigned int' is not a structure or union
if (points.empty()) return;
~~~~~~^~~~~~
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:770:5: note: in instantiation of function template specialization
'mapbox::detail::Earcut<float>::operator()<unsigned int>' requested here
earcut(poly);
^
/Users/ire/Downloads/vectiler-master/src/vectiler.cpp:349:13: note: in instantiation of function template specialization 'mapbox::earcut<float, unsigned int>'
requested here
mapbox::Earcut<float, unsigned int> earcut;
^
In file included from /Users/ire/Downloads/vectiler-master/src/vectiler.cpp:13:
In file included from /Users/ire/Downloads/vectiler-master/src/earcut.h:3:
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:142:52: error: member reference base type 'const unsigned int' is not a structure or union
for (size_t i = 0; threshold >= 0 && i < points.size(); i++) {
~~~~~~^~~~~
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:149:27: error: subscripted value is not an array, pointer, or vector
indices.reserve(len + points[0].size());
^~~~~~ ~
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:151:34: error: subscripted value is not an array, pointer, or vector
Node* outerNode = linkedList(points[0], true);
^~~~~~ ~
/Users/ire/Downloads/vectiler-master/src/earcut.hpp:154:15: error: member reference base type 'const unsigned int' is not a structure or union
if (points.size() > 1) outerNode = eliminateHoles(points, outerNode);
~~~~~~^~~~~
1 warning and 17 errors generated.
make[2]: *** [CMakeFiles/vectiler_core.dir/src/vectiler.cpp.o] Error 1
make[1]: *** [CMakeFiles/vectiler_core.dir/all] Error 2
make: *** [all] Error 2