cnr-isti-vclab / corto

Mesh compression library, designed for rendering and speed.
Other
196 stars 43 forks source link

can't compile on mac os #21

Open r03ert0 opened 4 years ago

r03ert0 commented 4 years ago

hello! I can't compile on mac os (10.14.6)

Here's the warnings+errors:

[ 40%] Built target cortolib
[ 45%] Building CXX object CMakeFiles/cortocodec_unity.dir/src/decoder.cpp.o
In file included from /Applications/corto/src/decoder.cpp:26:
/Applications/corto/src/tunstall.h:43:22: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions]
        const int rle_limit = 255;
                            ^
In file included from /Applications/corto/src/decoder.cpp:27:
In file included from /Applications/corto/src/decoder.h:26:
/Applications/corto/src/cstream.h:123:4: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
                        auto &logs = clogs[c];
                        ^
In file included from /Applications/corto/src/decoder.cpp:27:
In file included from /Applications/corto/src/decoder.h:29:
/Applications/corto/src/index_attribute.h:73:15: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
                for(Group &g: groups) {
                            ^
/Applications/corto/src/index_attribute.h:76:8: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
                        for(auto it: g.properties) {
                            ^
/Applications/corto/src/index_attribute.h:76:15: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
                        for(auto it: g.properties) {
                                   ^
/Applications/corto/src/index_attribute.h:91:15: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
                for(Group &g: groups) {
                            ^
In file included from /Applications/corto/src/decoder.cpp:27:
In file included from /Applications/corto/src/decoder.h:31:
/Applications/corto/src/color_attribute.h:30:21: warning: in-class initialization of non-static data member is a C++11 extension
      [-Wc++11-extensions]
        int out_components = 4;      //number of output components (either 3 or 4).
                           ^
/Applications/corto/src/decoder.cpp:88:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:88:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:134:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:134:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:136:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:136:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:140:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:140:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:164:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:164:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:171:14: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(Group &g: index.groups) {
                    ^
/Applications/corto/src/decoder.cpp:184:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:184:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:187:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:187:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:190:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
            ^
/Applications/corto/src/decoder.cpp:190:13: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
        for(auto it: data)
                   ^
/Applications/corto/src/decoder.cpp:249:10: error: no member named 'emplace_back' in 'std::__1::vector<DEdge2, std::__1::allocator<DEdge2> >'
                        front.emplace_back(vindex[1], vindex[2], vindex[0], current_edge + 2, current_edge + 1);
                        ~~~~~ ^
/Applications/corto/src/decoder.cpp:251:10: error: no member named 'emplace_back' in 'std::__1::vector<DEdge2, std::__1::allocator<DEdge2> >'
                        front.emplace_back(vindex[2], vindex[0], vindex[1], current_edge + 0, current_edge + 2);
                        ~~~~~ ^
/Applications/corto/src/decoder.cpp:253:10: error: no member named 'emplace_back' in 'std::__1::vector<DEdge2, std::__1::allocator<DEdge2> >'
                        front.emplace_back(vindex[0], vindex[1], vindex[2], current_edge + 1, current_edge + 0);
                        ~~~~~ ^
/Applications/corto/src/decoder.cpp:301:10: error: no member named 'emplace_back' in 'std::__1::vector<DEdge2, std::__1::allocator<DEdge2> >'
                        front.emplace_back(v0, opposite, v1, e.prev, new_edge + 1);
                        ~~~~~ ^
/Applications/corto/src/decoder.cpp:303:10: error: no member named 'emplace_back' in 'std::__1::vector<DEdge2, std::__1::allocator<DEdge2> >'
                        front.emplace_back(opposite, v1, v0, new_edge, e.next);
                        ~~~~~ ^
/Applications/corto/src/decoder.cpp:311:10: error: no member named 'emplace_back' in 'std::__1::vector<DEdge2, std::__1::allocator<DEdge2> >'
                        front.emplace_back(opposite, v1, v0, previous_edge.prev, e.next);
                        ~~~~~ ^
/Applications/corto/src/decoder.cpp:319:10: error: no member named 'emplace_back' in 'std::__1::vector<DEdge2, std::__1::allocator<DEdge2> >'
                        front.emplace_back(v0, opposite, v1, e.prev, next_edge.next);
                        ~~~~~ ^
24 warnings and 7 errors generated.

Any thing I could try? thanks in advance, roberto

lalalune commented 3 years ago

Sorry to come late to the party, but I was able to get it to build successfully for Mac using cmake just now with the provided instructions. Not sure how to help without repro but I can tell you that it works on my machine at least.

r03ert0 commented 3 years ago

hey thank you @shawwwwwwww ! I finally moved to using Draco (https://github.com/google/draco).