-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't compile tongrams #12
Comments
Hi, it seems a problem relative to the external library |
No, also not: |
Yes, probably you should. |
Hi I get an error when trying to compile the code:
In file included from /SSD/pedros-corner/tongrams/include/utils/util.hpp:19:0, from /SSD/pedros-corner/tongrams/test/test_count_model.cpp:3: /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp: In member function ‘typename std::enable_if<std::is_pod<_Tp>::value>::type essentials::sizer::visit(T&)’: /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp:361:62: error: must #include <typeinfo> before using typeid node n(pod_bytes(val), m_current->depth + 1, typeid(T).name()); ^ /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp: In member function ‘typename std::enable_if<std::is_pod<_Tp>::value>::type essentials::sizer::visit(std::vector<_RealType>&)’: /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp:374:37: error: must #include <typeinfo> before using typeid typeid(std::vector<T>).name()); ^ /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp: In member function ‘typename std::enable_if<(! std::is_pod<_Tp>::value)>::type essentials::sizer::visit(std::vector<_RealType>&)’: /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp:385:50: error: must #include <typeinfo> before using typeid node n(0, parent->depth + 1, typeid(T).name()); ^ /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp: In function ‘void essentials::print_size(Data&)’: /SSD/pedros-corner/tongrams/include/../external/essentials/include/essentials.hpp:437:30: error: must #include <typeinfo> before using typeid sizer visitor(typeid(Data).name()); ^ In file included from /SSD/pedros-corner/tongrams/test/test_count_model.cpp:6:0: /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp: At global scope: /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:13:45: error: ‘empty’ declared as an ‘inline’ field inline static const std::string empty = ""; ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:13:45: error: in-class initialization of static data member ‘const string cmd_line_parser::parser::empty’ of non-literal type /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:13:45: error: call to non-constexpr function ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp: In member function ‘T cmd_line_parser::parser::parse(const string&) const’: /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:115:12: error: expected ‘(’ before ‘constexpr’ if constexpr (std::is_same<T, std::string>::value) { ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:117:11: error: ‘else’ without a previous ‘if’ } else if constexpr (std::is_same<T, char>::value or std::is_same<T, signed char>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:117:19: error: expected ‘(’ before ‘constexpr’ } else if constexpr (std::is_same<T, char>::value or std::is_same<T, signed char>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:120:11: error: ‘else’ without a previous ‘if’ } else if constexpr (std::is_same<T, unsigned int>::value or std::is_same<T, int>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:120:19: error: expected ‘(’ before ‘constexpr’ } else if constexpr (std::is_same<T, unsigned int>::value or std::is_same<T, int>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:124:11: error: ‘else’ without a previous ‘if’ } else if constexpr (std::is_same<T, unsigned long int>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:124:19: error: expected ‘(’ before ‘constexpr’ } else if constexpr (std::is_same<T, unsigned long int>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:129:11: error: ‘else’ without a previous ‘if’ } else if constexpr (std::is_same<T, float>::value or std::is_same<T, double>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:129:19: error: expected ‘(’ before ‘constexpr’ } else if constexpr (std::is_same<T, float>::value or std::is_same<T, double>::value or ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:132:11: error: ‘else’ without a previous ‘if’ } else if constexpr (std::is_same<T, bool>::value) { ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:132:19: error: expected ‘(’ before ‘constexpr’ } else if constexpr (std::is_same<T, bool>::value) { ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:144:5: error: expected ‘}’ at end of input } ^ /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp: In instantiation of ‘T cmd_line_parser::parser::parse(const string&) const [with T = std::__cxx11::basic_string<char>; std::__cxx11::string = std::__cxx11::basic_string<char>]’: /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:104:24: required from ‘T cmd_line_parser::parser::get(const string&) const [with T = std::__cxx11::basic_string<char>; std::__cxx11::string = std::__cxx11::basic_string<char>]’ /SSD/pedros-corner/tongrams/test/test_count_model.cpp:40:69: required from here /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:144:5: warning: no return statement in function returning non-void [-Wreturn-type] /SSD/pedros-corner/tongrams/test/../external/cmd_line_parser/include/parser.hpp:114:32: warning: unused parameter ‘value’ [-Wunused-parameter] T parse(std::string const& value) const { ^ CMakeFiles/test_count_model.dir/build.make:62: recipe for target 'CMakeFiles/test_count_model.dir/test/test_count_model.cpp.o' failed make[2]: *** [CMakeFiles/test_count_model.dir/test/test_count_model.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/test_count_model.dir/all' failed make[1]: *** [CMakeFiles/test_count_model.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
I'm not sure why this is happening. Is on Ubuntu 16.04, a server. Any ideas?. Thanks.
The text was updated successfully, but these errors were encountered: