2012-03-05 7 views
1

私のプロジェクトでSTLPortを使用しようとしていますが、INSTALL.unixesの指示に従うとコンパイルエラーが発生します。STLPortをビルドするエラー

./configureを実行した後、makeと出力します。私はUbuntuでmake 3.81とgcc 4.6.1を使っています。

編集:私は--with-extra-cxxflags="-std=c++ox"を追加しようとしましたが、私は以下に列挙されている異なる種類のエラーを取得しました。

In file included from ../stlport/memory:45:0, 
       from reachable.cc:16: 
../stlport/stl/_shared_ptr.h:377:43: error: function definition does not declare parameters 
../stlport/stl/_shared_ptr.h:421:39: error: declaration of ‘operator=’ as non-function 
../stlport/stl/_shared_ptr.h:421:26: error: expected ‘;’ at end of member declaration 
../stlport/stl/_shared_ptr.h:421:39: error: function definition does not declare parameters 
../stlport/stl/_shared_ptr.h:463:17: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:536:43: error: function definition does not declare parameters 
../stlport/stl/_shared_ptr.h:552:39: error: declaration of ‘operator=’ as non-function 
../stlport/stl/_shared_ptr.h:552:26: error: expected ‘;’ at end of member declaration 
../stlport/stl/_shared_ptr.h:552:39: error: function definition does not declare parameters 
../stlport/stl/_shared_ptr.h:591:17: error: ‘nullptr_t’ has not been declared 
In file included from ../stlport/memory:45:0, 
       from reachable.cc:16: 
../stlport/stl/_shared_ptr.h:643:45: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:647:18: error: declaration of ‘operator==’ as non-function 
../stlport/stl/_shared_ptr.h:647:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:647:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:647:29: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:647:50: error: expected primary-expression before ‘>’ token 
../stlport/stl/_shared_ptr.h:647:53: error: ‘x’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:651:45: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:655:18: error: declaration of ‘operator!=’ as non-function 
../stlport/stl/_shared_ptr.h:655:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:655:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:655:29: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:655:50: error: expected primary-expression before ‘>’ token 
../stlport/stl/_shared_ptr.h:655:53: error: ‘x’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:660:44: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:665:17: error: declaration of ‘operator<’ as non-function 
../stlport/stl/_shared_ptr.h:665:17: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:665:17: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:665:28: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:665:49: error: expected primary-expression before ‘>’ token 
../stlport/stl/_shared_ptr.h:665:52: error: ‘x’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:669:44: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:673:17: error: declaration of ‘operator>’ as non-function 
../stlport/stl/_shared_ptr.h:673:17: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:673:17: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:673:28: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:673:49: error: expected primary-expression before ‘>’ token 
../stlport/stl/_shared_ptr.h:673:52: error: ‘x’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:677:45: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:681:18: error: declaration of ‘operator<=’ as non-function 
../stlport/stl/_shared_ptr.h:681:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:681:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:681:29: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:681:50: error: expected primary-expression before ‘>’ token 
../stlport/stl/_shared_ptr.h:681:53: error: ‘x’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:685:45: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:689:18: error: declaration of ‘operator>=’ as non-function 
../stlport/stl/_shared_ptr.h:689:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:689:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:689:29: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:689:50: error: expected primary-expression before ‘>’ token 
../stlport/stl/_shared_ptr.h:689:53: error: ‘x’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:775:26: error: expected ‘)’ before ‘,’ token 
../stlport/stl/_shared_ptr.h:790:26: error: expected ‘)’ before ‘,’ token 
../stlport/stl/_shared_ptr.h:917:43: error: function definition does not declare parameters 
../stlport/stl/_shared_ptr.h:1160:26: error: expected ‘)’ before ‘,’ token 
../stlport/stl/_shared_ptr.h:1175:26: error: expected ‘)’ before ‘,’ token 
../stlport/stl/_shared_ptr.h:1296:43: error: function definition does not declare parameters 
../stlport/stl/_shared_ptr.h:1553:42: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:1557:18: error: declaration of ‘operator==’ as non-function 
../stlport/stl/_shared_ptr.h:1557:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:1557:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:1557:29: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:1561:42: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:1565:18: error: declaration of ‘operator!=’ as non-function 
../stlport/stl/_shared_ptr.h:1565:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:1565:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:1565:29: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:1569:41: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:1573:17: error: declaration of ‘operator<’ as non-function 
../stlport/stl/_shared_ptr.h:1573:17: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:1573:17: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:1573:28: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:1577:42: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:1581:18: error: declaration of ‘operator<=’ as non-function 
../stlport/stl/_shared_ptr.h:1581:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:1581:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:1581:29: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:1585:41: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:1589:17: error: declaration of ‘operator>’ as non-function 
../stlport/stl/_shared_ptr.h:1589:17: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:1589:17: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:1589:28: error: expected primary-expression before ‘const’ 
../stlport/stl/_shared_ptr.h:1593:42: error: ‘nullptr_t’ has not been declared 
../stlport/stl/_shared_ptr.h:1597:18: error: declaration of ‘operator>=’ as non-function 
../stlport/stl/_shared_ptr.h:1597:18: error: ‘nullptr_t’ was not declared in this scope 
../stlport/stl/_shared_ptr.h:1597:18: note: suggested alternative: 
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:159:29: note: ‘std::nullptr_t’ 
../stlport/stl/_shared_ptr.h:1597:29: error: expected primary-expression before ‘const’ 
In file included from ../stlport/stl/_hashtable.h:541:0, 
       from ../stlport/stl/_unordered_map.h:24, 
       from ../stlport/unordered_map:28, 
       from reachable.cc:17: 
../stlport/stl/_hashtable.c: In member function ‘stlp_std::pair<stlp_std::priv::_Ht_iterator<typename stlp_std::forward_list<_Val, _All>::iterator, typename _Traits::_NonConstTraits>, bool> stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::insert_unique_noresize(const value_type&) [with _Val = stlp_std::pair<void* const, long unsigned int>, _Key = void*, _HF = stlp_std::hash<void*>, _Traits = stlp_std::priv::_UnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> >, _ExK = stlp_std::priv::_Select1st<stlp_std::pair<void* const, long unsigned int> >, _EqK = stlp_std::equal_to<void*>, _All = stlp_std::allocator<stlp_std::pair<void* const, long unsigned int> >, typename _Traits::_NonConstTraits = stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> >, typename stlp_std::forward_list<_Val, _All>::iterator = stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::value_type = stlp_std::pair<void* const, long unsigned int>]’: 
../stlport/stl/_hashtable.c:251:41: instantiated from ‘stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::reference stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::_M_insert(const value_type&) [with _Val = stlp_std::pair<void* const, long unsigned int>, _Key = void*, _HF = stlp_std::hash<void*>, _Traits = stlp_std::priv::_UnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> >, _ExK = stlp_std::priv::_Select1st<stlp_std::pair<void* const, long unsigned int> >, _EqK = stlp_std::equal_to<void*>, _All = stlp_std::allocator<stlp_std::pair<void* const, long unsigned int> >, stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::reference = stlp_std::pair<void* const, long unsigned int>&, stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::value_type = stlp_std::pair<void* const, long unsigned int>]’ 
../stlport/stl/_unordered_map.h:130:22: instantiated from ‘_Tp& stlp_std::unordered_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>::operator[](const _KT&) [with _KT = void*, _Key = void*, _Tp = long unsigned int, _HashFcn = stlp_std::hash<void*>, _EqualKey = stlp_std::equal_to<void*>, _Alloc = stlp_std::allocator<stlp_std::pair<void* const, long unsigned int> >]’ 
reachable.cc:45:27: instantiated from here 
../stlport/stl/_hashtable.c:206:59: error: use of deleted function ‘stlp_std::pair<_T1, _T2>::pair(stlp_std::pair<_T1, _T2>&&) [with _T1 = stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, _T2 = bool, stlp_std::pair<_T1, _T2> = stlp_std::pair<stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, bool>]’ 
In file included from ../stlport/stl/_alloc.h:53:0, 
       from ../stlport/memory:30, 
       from reachable.cc:16: 
../stlport/utility:140:3: error: ‘stlp_std::pair<_T1, _T2>::pair(stlp_std::pair<_T1, _T2>&&) [with _T1 = stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, _T2 = bool, stlp_std::pair<_T1, _T2> = stlp_std::pair<stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, bool>]’ is implicitly deleted because the default definition would be ill-formed: 
../stlport/utility:140:3: error: non-static data member ‘stlp_std::pair<stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, bool>::first’ does not have a move constructor or trivial copy constructor 
In file included from ../stlport/stl/_hashtable.h:541:0, 
       from ../stlport/stl/_unordered_map.h:24, 
       from ../stlport/unordered_map:28, 
       from reachable.cc:17: 
../stlport/stl/_hashtable.c:251:41: instantiated from ‘stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::reference stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::_M_insert(const value_type&) [with _Val = stlp_std::pair<void* const, long unsigned int>, _Key = void*, _HF = stlp_std::hash<void*>, _Traits = stlp_std::priv::_UnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> >, _ExK = stlp_std::priv::_Select1st<stlp_std::pair<void* const, long unsigned int> >, _EqK = stlp_std::equal_to<void*>, _All = stlp_std::allocator<stlp_std::pair<void* const, long unsigned int> >, stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::reference = stlp_std::pair<void* const, long unsigned int>&, stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::value_type = stlp_std::pair<void* const, long unsigned int>]’ 
../stlport/stl/_unordered_map.h:130:22: instantiated from ‘_Tp& stlp_std::unordered_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>::operator[](const _KT&) [with _KT = void*, _Key = void*, _Tp = long unsigned int, _HashFcn = stlp_std::hash<void*>, _EqualKey = stlp_std::equal_to<void*>, _Alloc = stlp_std::allocator<stlp_std::pair<void* const, long unsigned int> >]’ 
reachable.cc:45:27: instantiated from here 
../stlport/stl/_hashtable.c:216:54: error: use of deleted function ‘stlp_std::pair<_T1, _T2>::pair(stlp_std::pair<_T1, _T2>&&) [with _T1 = stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, _T2 = bool, stlp_std::pair<_T1, _T2> = stlp_std::pair<stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, bool>]’ 
../stlport/stl/_hashtable.c:251:41: instantiated from ‘stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::reference stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::_M_insert(const value_type&) [with _Val = stlp_std::pair<void* const, long unsigned int>, _Key = void*, _HF = stlp_std::hash<void*>, _Traits = stlp_std::priv::_UnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> >, _ExK = stlp_std::priv::_Select1st<stlp_std::pair<void* const, long unsigned int> >, _EqK = stlp_std::equal_to<void*>, _All = stlp_std::allocator<stlp_std::pair<void* const, long unsigned int> >, stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::reference = stlp_std::pair<void* const, long unsigned int>&, stlp_std::hashtable<_Val, _Key, _HF, _Traits, _ExK, _EqK, _All>::value_type = stlp_std::pair<void* const, long unsigned int>]’ 
../stlport/stl/_unordered_map.h:130:22: instantiated from ‘_Tp& stlp_std::unordered_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>::operator[](const _KT&) [with _KT = void*, _Key = void*, _Tp = long unsigned int, _HashFcn = stlp_std::hash<void*>, _EqualKey = stlp_std::equal_to<void*>, _Alloc = stlp_std::allocator<stlp_std::pair<void* const, long unsigned int> >]’ 
reachable.cc:45:27: instantiated from here 
../stlport/stl/_hashtable.c:219:67: error: use of deleted function ‘stlp_std::pair<_T1, _T2>::pair(stlp_std::pair<_T1, _T2>&&) [with _T1 = stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, _T2 = bool, stlp_std::pair<_T1, _T2> = stlp_std::pair<stlp_std::priv::_Ht_iterator<stlp_std::priv::_Slist_iterator<stlp_std::pair<void* const, long unsigned int>, stlp_std::_Nonconst_traits<stlp_std::pair<void* const, long unsigned int> > >, stlp_std::priv::_NonLocalUnorderedMapTraitsT<stlp_std::pair<void* const, long unsigned int> > >, bool>]’ 
make[1]: *** [obj/gcc/so/reachable.o] Error 1 
make: *** [release-shared] Error 2 

答えて

2

それは私がgit://stlport.git.sourceforge.net/gitroot/stlport/stlportから版STLPortの私のコピーを得たソースが判明、私は思ったよりもはるかに出血エッジがあります。私がSourceForgeから安定したビルドを手に入れれば、それはうまくコンパイルされます。

+0

問題が解決した場合は、それも受け入れられた回答としてマークしてください。 – Nav

+1

私はそれをマークするために12時間以上待たなければなりません – Alex