I am using Ubuntu 16.04 and gcc 5.5.0. When I go to cmake --build . --config Release
, I get the error shown here:
[ 30%] Built target SFML
[ 61%] Built target TinyXml2
[ 65%] Building CXX object CMakeFiles/SuperMario.dir/src/Main.cpp.o
In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
from /usr/include/c++/5/unordered_map:47,
from /home/Me/Desktop/supermariohd/include/GameEngine.h:10,
from /home/Me/Desktop/supermariohd/include/SuperMarioGame.h:4,
from /home/Me/Desktop/supermariohd/src/Main.cpp:1:
/usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> >’:
/usr/include/c++/5/type_traits:137:12: required from ‘struct std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > >’
/usr/include/c++/5/type_traits:148:38: required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<sf::Keyboard::Key, bool>’
/home/Me/Desktop/supermariohd/include/GameEngine.h:280:46: required from here
/usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<sf::Keyboard::Key>) (const sf::Keyboard::Key&)’
noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
^
In file included from /usr/include/c++/5/bits/move.h:57:0,
from /usr/include/c++/5/bits/stl_pair.h:59,
from /usr/include/c++/5/bits/stl_algobase.h:64,
from /usr/include/c++/5/bits/char_traits.h:39,
from /usr/include/c++/5/ios:40,
from /usr/include/c++/5/ostream:38,
from /home/Me/Desktop/supermariohd/build/SFML-prefix/include/SFML/System/Err.hpp:32,
from /home/Me/Desktop/supermariohd/build/SFML-prefix/include/SFML/System.hpp:34,
from /home/Me/Desktop/supermariohd/build/SFML-prefix/include/SFML/Window.hpp:32,
from /home/Me/Desktop/supermariohd/build/SFML-prefix/include/SFML/Graphics.hpp:32,
from /home/Me/Desktop/supermariohd/include/GameEngine.h:4,
from /home/Me/Desktop/supermariohd/include/SuperMarioGame.h:4,
from /home/Me/Desktop/supermariohd/src/Main.cpp:1:
/usr/include/c++/5/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’:
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<sf::Keyboard::Key, bool>’
/home/Me/Desktop/supermariohd/include/GameEngine.h:280:46: required from here
/usr/include/c++/5/type_traits:148:38: error: ‘value’ is not a member of ‘std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > >’
: public integral_constant<bool, !_Pp::value>
^
In file included from /usr/include/c++/5/unordered_map:48:0,
from /home/Me/Desktop/supermariohd/include/GameEngine.h:10,
from /home/Me/Desktop/supermariohd/include/SuperMarioGame.h:4,
from /home/Me/Desktop/supermariohd/src/Main.cpp:1:
/usr/include/c++/5/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<sf::Keyboard::Key, bool>’:
/home/Me/Desktop/supermariohd/include/GameEngine.h:280:46: required from here
/usr/include/c++/5/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
^
/usr/include/c++/5/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::key_type key_type;
^
/usr/include/c++/5/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::value_type value_type;
^
/usr/include/c++/5/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::mapped_type mapped_type;
^
/usr/include/c++/5/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::hasher hasher;
^
/usr/include/c++/5/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::key_equal key_equal;
^
/usr/include/c++/5/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::allocator_type allocator_type;
^
/usr/include/c++/5/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::pointer pointer;
^
/usr/include/c++/5/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::const_pointer const_pointer;
^
/usr/include/c++/5/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::reference reference;
^
/usr/include/c++/5/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::const_reference const_reference;
^
/usr/include/c++/5/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::iterator iterator;
^
/usr/include/c++/5/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::const_iterator const_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::local_iterator local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::const_local_iterator const_local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::size_type size_type;
^
/usr/include/c++/5/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
typedef typename _Hashtable::difference_type difference_type;
^
/usr/include/c++/5/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
operator=(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
emplace(_Args&&... __args)
^
/usr/include/c++/5/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
insert(const value_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
insert(_Pair&& __x)
^
/usr/include/c++/5/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
insert(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
equal_range(const key_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<sf::Keyboard::Key> >, std::__detail::__is_noexcept_hash<sf::Keyboard::Key, std::hash<sf::Keyboard::Key> > > >’
equal_range(const key_type& __x) const
^
CMakeFiles/SuperMario.dir/build.make:62: recipe for target 'CMakeFiles/SuperMario.dir/src/Main.cpp.o' failed
make[2]: *** [CMakeFiles/SuperMario.dir/src/Main.cpp.o] Error 1
CMakeFiles/Makefile2:142: recipe for target 'CMakeFiles/SuperMario.dir/all' failed
make[1]: *** [CMakeFiles/SuperMario.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Why is this? I did some reading online and it seemed either the problem is that the version of gcc is not updated, or I need to change unordered_map
to map
?