Coder Social home page Coder Social logo

Comments (5)

 avatar commented on August 23, 2024
synapse@darkside:~/Desktop/OSVR-Vive/build$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

from osvr-vive.

 avatar commented on August 23, 2024

OSVR/OSVR-Docs#125

from osvr-vive.

 avatar commented on August 23, 2024
synapse@darkside:~/Desktop$ sudo apt-get install gcc-7 g++-7
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  gcc-5-base:i386
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  cpp-7 gcc-7-base gcc-7-base:i386 libasan4 libatomic1 libcc1-0 libcilkrts5 libgcc-7-dev libgcc1 libgcc1:i386 libgomp1 libitm1 liblsan0 libmpx2 libquadmath0 libstdc++-7-dev
  libstdc++6 libstdc++6:i386 libtsan0 libubsan0
Suggested packages:
  gcc-7-locales g++-7-multilib gcc-7-doc libstdc++6-7-dbg gcc-7-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg
  libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg libstdc++-7-doc
The following NEW packages will be installed:
  cpp-7 g++-7 gcc-7 gcc-7-base gcc-7-base:i386 libasan4 libgcc-7-dev libmpx2 libstdc++-7-dev
The following packages will be upgraded:
  libatomic1 libcc1-0 libcilkrts5 libgcc1 libgcc1:i386 libgomp1 libitm1 liblsan0 libquadmath0 libstdc++6 libstdc++6:i386 libtsan0 libubsan0
13 upgraded, 9 newly installed, 0 to remove and 34 not upgraded.
Need to get 107 MB of archives.
After this operation, 508 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 gcc-7-base amd64 7.1.0-10ubuntu1~16.04.york0 [39.3 kB]
Get:2 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main i386 gcc-7-base i386 7.1.0-10ubuntu1~16.04.york0 [39.3 kB]
Get:3 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main i386 libgcc1 i386 1:7.1.0-10ubuntu1~16.04.york0 [47.0 kB]
Get:4 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libgcc1 amd64 1:7.1.0-10ubuntu1~16.04.york0 [39.4 kB]
Get:5 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main i386 libstdc++6 i386 7.1.0-10ubuntu1~16.04.york0 [436 kB]
Get:6 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libstdc++6 amd64 7.1.0-10ubuntu1~16.04.york0 [403 kB]
Get:7 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 cpp-7 amd64 7.1.0-10ubuntu1~16.04.york0 [33.0 MB]                                                        
Get:8 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libcc1-0 amd64 7.1.0-10ubuntu1~16.04.york0 [38.6 kB]                                                     
Get:9 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libgomp1 amd64 7.1.0-10ubuntu1~16.04.york0 [76.3 kB]                                                     
Get:10 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libitm1 amd64 7.1.0-10ubuntu1~16.04.york0 [27.5 kB]                                                     
Get:11 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libatomic1 amd64 7.1.0-10ubuntu1~16.04.york0 [8,950 B]                                                  
Get:12 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libasan4 amd64 7.1.0-10ubuntu1~16.04.york0 [353 kB]                                                     
Get:13 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 liblsan0 amd64 7.1.0-10ubuntu1~16.04.york0 [127 kB]                                                     
Get:14 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libtsan0 amd64 7.1.0-10ubuntu1~16.04.york0 [275 kB]                                                     
Get:15 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libubsan0 amd64 7.1.0-10ubuntu1~16.04.york0 [119 kB]                                                    
Get:16 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libcilkrts5 amd64 7.1.0-10ubuntu1~16.04.york0 [42.4 kB]                                                 
Get:17 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libmpx2 amd64 7.1.0-10ubuntu1~16.04.york0 [11.8 kB]                                                     
Get:18 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libquadmath0 amd64 7.1.0-10ubuntu1~16.04.york0 [133 kB]                                                 
Get:19 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libgcc-7-dev amd64 7.1.0-10ubuntu1~16.04.york0 [2,367 kB]                                               
Get:20 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 gcc-7 amd64 7.1.0-10ubuntu1~16.04.york0 [32.4 MB]                                                       
Get:21 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libstdc++-7-dev amd64 7.1.0-10ubuntu1~16.04.york0 [1,455 kB]                                            
Get:22 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 g++-7 amd64 7.1.0-10ubuntu1~16.04.york0 [35.4 MB]                                                       
Fetched 107 MB in 6min 26s (277 kB/s)                                                                                                                                              
Selecting previously unselected package gcc-7-base:amd64.
(Reading database ... 252930 files and directories currently installed.)
Preparing to unpack .../gcc-7-base_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking gcc-7-base:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package gcc-7-base:i386.
Preparing to unpack .../gcc-7-base_7.1.0-10ubuntu1~16.04.york0_i386.deb ...
Unpacking gcc-7-base:i386 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up gcc-7-base:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up gcc-7-base:i386 (7.1.0-10ubuntu1~16.04.york0) ...
(Reading database ... 252940 files and directories currently installed.)
Preparing to unpack .../libgcc1_1%3a7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
De-configuring libgcc1:i386 (1:6.0.1-0ubuntu1) ...
Unpacking libgcc1:amd64 (1:7.1.0-10ubuntu1~16.04.york0) over (1:6.0.1-0ubuntu1) ...
Preparing to unpack .../libgcc1_1%3a7.1.0-10ubuntu1~16.04.york0_i386.deb ...
Unpacking libgcc1:i386 (1:7.1.0-10ubuntu1~16.04.york0) over (1:6.0.1-0ubuntu1) ...
Preparing to unpack .../libstdc++6_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
De-configuring libstdc++6:i386 (5.4.0-6ubuntu1~16.04.9) ...
Unpacking libstdc++6:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libstdc++6_7.1.0-10ubuntu1~16.04.york0_i386.deb ...
Unpacking libstdc++6:i386 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package cpp-7.
Preparing to unpack .../cpp-7_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking cpp-7 (7.1.0-10ubuntu1~16.04.york0) ...
Preparing to unpack .../libcc1-0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libcc1-0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libgomp1_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libgomp1:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libitm1_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libitm1:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libatomic1_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libatomic1:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libasan4:amd64.
Preparing to unpack .../libasan4_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libasan4:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Preparing to unpack .../liblsan0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking liblsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libtsan0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libtsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libubsan0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libubsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libcilkrts5_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libcilkrts5:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libmpx2:amd64.
Preparing to unpack .../libmpx2_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libmpx2:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Preparing to unpack .../libquadmath0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libquadmath0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libgcc-7-dev:amd64.
Preparing to unpack .../libgcc-7-dev_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libgcc-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package gcc-7.
Preparing to unpack .../gcc-7_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking gcc-7 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package libstdc++-7-dev:amd64.
Preparing to unpack .../libstdc++-7-dev_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libstdc++-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package g++-7.
Preparing to unpack .../g++-7_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking g++-7 (7.1.0-10ubuntu1~16.04.york0) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libgcc1:i386 (1:7.1.0-10ubuntu1~16.04.york0) ...
Setting up libgcc1:amd64 (1:7.1.0-10ubuntu1~16.04.york0) ...
Setting up libstdc++6:i386 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libstdc++6:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up cpp-7 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libcc1-0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libgomp1:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libitm1:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libatomic1:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libasan4:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up liblsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libtsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libubsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libcilkrts5:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libmpx2:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libquadmath0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libgcc-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up gcc-7 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libstdc++-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up g++-7 (7.1.0-10ubuntu1~16.04.york0) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
synapse@darkside:~/Desktop$ make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

synapse@darkside:~/Desktop$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

from osvr-vive.

 avatar commented on August 23, 2024
synapse@darkside:~/Desktop/OSVR-Vive/build$ make CC=/usr/bin/gcc-7
[  4%] Building CXX object CMakeFiles/ViveLoaderLib.dir/Properties.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/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:38,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.h:30,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> >’:
/usr/include/c++/5/type_traits:137:12:   required from ‘struct std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > >’
/usr/include/c++/5/type_traits:148:38:   required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
/usr/include/c++/5/bits/unordered_map.h:100:66:   required from ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >’
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:47:63:   required from ‘class osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >’
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:15:   required from here
/usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<vr::ETrackedDeviceProperty>) (const vr::ETrackedDeviceProperty&)’
  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/memory:62,
                 from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/SharedPtr.h:63,
                 from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/Log.h:32,
                 from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/Logger.h:33,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.h:29,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’:
/usr/include/c++/5/bits/unordered_map.h:100:66:   required from ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >’
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:47:63:   required from ‘class osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >’
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:15:   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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > >: public integral_constant<bool, !_Pp::value>
                                      ^
In file included from /usr/include/c++/5/unordered_map:48:0,
                 from /home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:38,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.h:30,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >’:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:47:63:   required from ‘class osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >’
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:15:   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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
  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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
  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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       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<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
       equal_range(const key_type& __x) const
       ^
In file included from /home/synapse/Desktop/OSVR-Vive/Properties.h:30:0,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘bool osvr::util::KVDataStore<KeyType, ValueVariant>::containsAnyType(const key_type&) const [with KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:47:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:75:37: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘find’
             auto it = data_.find(key);
                                     ^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:76:23: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘end’
             return it != data_.end();
                       ^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘const value_variant_type& osvr::util::KVDataStore<KeyType, ValueVariant>::getVariant(const key_type&) const [with KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::value_variant_type = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:104:49:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:85:37: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘find’
             auto it = data_.find(key);
                                     ^
In file included from /usr/include/boost/assert.hpp:54:0,
                 from /usr/include/boost/move/detail/type_traits.hpp:33,
                 from /usr/include/boost/move/traits.hpp:31,
                 from /usr/include/boost/move/utility.hpp:29,
                 from /usr/include/boost/move/move.hpp:29,
                 from /usr/include/boost/variant/detail/move.hpp:28,
                 from /usr/include/boost/variant/detail/initializer.hpp:23,
                 from /usr/include/boost/variant/variant.hpp:30,
                 from /usr/include/boost/variant.hpp:17,
                 from /home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:32,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.h:30,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:86:23: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘end’
             assert(it != data_.end() &&
                       ^
In file included from /home/synapse/Desktop/OSVR-Vive/Properties.h:30:0,
                 from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = float; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:200:45:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
             data_[key] = wrappedVal;
                  ^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = int; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:205:43:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = long unsigned int; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:210:43:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = bool; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:215:43:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = std::__cxx11::basic_string<char>; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:220:60:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = vr::HmdMatrix34_t; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:226:43:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = vr::HmdVector2_t; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:232:43:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::erase(const key_type&) [with KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:244:36:   required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:110:37: error: ‘using container_type = class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > > {aka class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘find’
             auto it = data_.find(key);
                                     ^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:111:20: error: ‘using container_type = class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > > {aka class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘end’
             if (it == data_.end()) {
                    ^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:115:13: error: ‘using container_type = class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > > {aka class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘erase’
             data_.erase(it);
             ^
CMakeFiles/ViveLoaderLib.dir/build.make:206: recipe for target 'CMakeFiles/ViveLoaderLib.dir/Properties.cpp.o' failed
make[2]: *** [CMakeFiles/ViveLoaderLib.dir/Properties.cpp.o] Error 1
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/ViveLoaderLib.dir/all' failed
make[1]: *** [CMakeFiles/ViveLoaderLib.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

from osvr-vive.

asymingt avatar asymingt commented on August 23, 2024

This diff fixes the compile issue, but at the cost of performance.

diff --git a/vendor/util-headers/util/KVDataStore.h b/vendor/util-headers/util/KVDataStore.h
index 3d7a0eb..5be1c18 100644
--- a/vendor/util-headers/util/KVDataStore.h
+++ b/vendor/util-headers/util/KVDataStore.h
@@ -35,7 +35,7 @@
 #include <cstdint>
 #include <stdexcept>
 #include <string>
-#include <unordered_map>
+#include <map>
 
 namespace osvr {
 namespace util {
@@ -43,7 +43,7 @@ namespace util {
       public:
         using key_type = KeyType;
         using value_variant_type = ValueVariant;
-        using container_type = std::unordered_map<key_type, value_variant_type>;
+        using container_type = std::map<key_type, value_variant_type>;
         using value_type = typename container_type::value_type;
 
         /// Sets the value associated with the key. Overwrites any existing

from osvr-vive.

Related Issues (20)

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.