Topic: Windows compile problem
MartenR![]() Topic Opener |
Posted at:
2013-11-03, 23:48 UTC+1.0
I am trying to setup a wideland development environment under windows. I have installed MS VC++ 2010 SP1 with the packages according to the widelands webpage (at least I hope). Unfortunetely I get build errors with current trunk. Therefore my questions are: 1) is MS VC++ 2010 still the prefered build tool under windows or is now the mingw tool chain the one used in widelands development (since newer C++11 constructs are used). If yes, then I have to reinstall. If no we go to: 2) My build errors are(unfortunetely the compilers translates the errors to german): gamecontroller.cc 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(30): error C2332: 'enum': Fehlender Tagname 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(30): error C2236: "class" "Widelands::PlayerEndResult" unerwartet. Wurde ein ";" vergessen? 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(30): error C3381: Widelands::PlayerEndResult": Assemblyzugriffsspezifizierer sind nur in Code verfügbar, der mit einer /clr-Option kompiliert wurde. 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(30): error C2516: 'uint8_t': Keine zulässige Basisklasse 3> C:\PrivateDaten\widelands\wideland-repo\3rdparty\include\stdint.h(13): Siehe Deklaration von 'uint8_t' 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(30): error C2143: Syntaxfehler: Es fehlt ',' vor ';' 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(31): error C2143: Syntaxfehler: Es fehlt ';' vor '}' 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(43): error C2518: Schlüsselwort 'struct' ist in der Basisklassenliste ungültig und wird ignoriert 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(44): error C2523: "Widelands::PlayerEndResult::~GameController": Destruktor-Tag stimmt nicht überein. 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(91): error C2143: Syntaxfehler: Es fehlt ';' vor '' 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(91): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(91): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(92): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>c:\privatedaten\widelands\wideland-repo\trunk\src\gamecontroller.h(92): warning C4183: 'createSinglePlayer': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(19): error C2143: Syntaxfehler: Es fehlt ';' vor '<' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(19): error C2433: 'pair': 'inline' bei der Deklaration von Daten nicht zulässig 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(19): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(19): error C2988: Unerkannte Vorlagendeklaration/-definition 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(19): error C2059: Syntaxfehler: '<' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(41): error C2143: Syntaxfehler: Es fehlt ';' vor '{' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(41): error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil? 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(50): error C2061: Syntaxfehler: Bezeichner 'input_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(70): error C2061: Syntaxfehler: Bezeichner 'forward_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(83): error C2995: "_FwdIt Widelands::std::_Uninitialized_copy_n(_InIt,_Diff,_FwdIt)": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(49): Siehe Deklaration von 'Widelands::std::_Uninitialized_copy_n' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(89): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(99): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(136): error C2061: Syntaxfehler: Bezeichner 'output_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(146): error C2061: Syntaxfehler: Bezeichner 'random_access_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(152): error C2995: "_FwdIt Widelands::std::_Uninitialized_copy_n2(_InIt,_Diff,_FwdIt)": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(135): Siehe Deklaration von 'Widelands::std::_Uninitialized_copy_n2' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(158): error C2061: Syntaxfehler: Bezeichner 'input_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(168): error C2061: Syntaxfehler: Bezeichner 'random_access_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(174): error C2995: "_FwdIt Widelands::std::_Uninitialized_copy_n1(_InIt,_Diff,_FwdIt)": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(157): Siehe Deklaration von 'Widelands::std::_Uninitialized_copy_n1' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(254): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(272): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(278): error C2995: "_FwdIt Widelands::std::_Uninitialized_copy0(_InIt,_InIt,_FwdIt)": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(253): Siehe Deklaration von 'Widelands::std::_Uninitialized_copy0' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(304): error C2061: Syntaxfehler: Bezeichner 'input_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(313): error C2061: Syntaxfehler: Bezeichner 'random_access_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(368): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(389): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(393): error C2995: "_FwdIt Widelands::std::_Uninit_copy(_InIt,_InIt,_FwdIt,_Alloc &)": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(367): Siehe Deklaration von 'Widelands::std::_Uninit_copy' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(398): error C2061: Syntaxfehler: Bezeichner 'allocator' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(423): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(445): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(449): error C2995: "_FwdIt Widelands::std::_Uninit_move(_InIt,_InIt,_FwdIt,_Alloc &,_Valty )": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(422): Siehe Deklaration von 'Widelands::std::_Uninit_move' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(455): error C2061: Syntaxfehler: Bezeichner 'allocator' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(478): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(496): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(513): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(536): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(557): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(583): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(587): error C2995: "void Widelands::std::_Uninit_fill_n(_FwdIt,_Diff,const _Tval ,_Alloc &,_Valty )": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(555): Siehe Deklaration von 'Widelands::std::_Uninit_fill_n' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(594): error C2061: Syntaxfehler: Bezeichner 'allocator' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(619): error C2061: Syntaxfehler: Bezeichner '_Nonscalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(647): error C2061: Syntaxfehler: Bezeichner '_Scalar_ptr_iterator_tag' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(651): error C2995: "void Widelands::std::_Uninit_def_fill_n(_FwdIt,_Diff,const _Tval ,_Alloc &,_Valty )": Funktionsvorlage wurde bereits definiert. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(617): Siehe Deklaration von 'Widelands::std::_Uninit_def_fill_n' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(658): error C2061: Syntaxfehler: Bezeichner 'allocator' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1007): error C2504: 'exception': Basisklasse undefiniert 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1488): error C2143: Syntaxfehler: Es fehlt ',' vor '<' 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1708): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "Widelands::std::tr1::shared_ptr<_Ty>". 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1488): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1532): error C2143: Syntaxfehler: Es fehlt ',' vor '<' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1532): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1542): error C2061: Syntaxfehler: Bezeichner 'unique_ptr' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1637): error C2143: Syntaxfehler: Es fehlt ';' vor '<' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1637): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1638): error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1761): error C2143: Syntaxfehler: Es fehlt ';' vor '<' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1761): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1761): error C2988: Unerkannte Vorlagendeklaration/-definition 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1761): error C2059: Syntaxfehler: '<' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1763): error C2065: '_Ty': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1769): error C2065: '_Ty': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1770): error C2065: '_Ty': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1771): error C2143: Syntaxfehler: Es fehlt ';' vor '{' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1771): error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil? 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1846): error C2143: Syntaxfehler: Es fehlt ';' vor '<' 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1848): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "Widelands::std::tr1::_Ref_count_obj<_Ty>". 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1846): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1847): error C2238: Unerwartete(s) Token vor ';' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1883): error C2143: Syntaxfehler: Es fehlt ';' vor '<' 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1886): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "Widelands::std::tr1::_Ref_count_obj_alloc<_Ty,_Alloc>". 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1883): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1884): error C2238: Unerwartete(s) Token vor ';' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1908): error C2143: Syntaxfehler: Es fehlt ',' vor '<' 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1972): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "Widelands::std::tr1::weak_ptr<_Ty>". 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1908): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1921): error C2143: Syntaxfehler: Es fehlt ',' vor '<' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(1921): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2124): error C2143: Syntaxfehler: Es fehlt ';' vor '<' 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2151): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "Widelands::std::_Unique_ptr_base<_Ty,_Dx,_Empty_deleter>". 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2124): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2124): error C2238: Unerwartete(s) Token vor ';' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2125): error C2065: '_Dx_noref': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2125): error C2065: '_Dx_noref': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2125): error C2059: Syntaxfehler: ')' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2128): error C2065: '_Dt': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2128): error C3861: "_Mydel": Bezeichner wurde nicht gefunden. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2129): error C2143: Syntaxfehler: Es fehlt ',' vor '{' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2129): error C2143: Syntaxfehler: Es fehlt ';' vor '{' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2130): error C2143: Syntaxfehler: Es fehlt ';' vor '}' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2133): error C2947: ">" wird erwartet, um template-argument-list abzubrechen. ">" wurde gefunden. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2133): error C2976: "Widelands::std::_Hold_pointer_type": Nicht genügend template-Argumente. 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2102): Siehe Deklaration von 'Widelands::std::_Hold_pointer_type' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2134): error C2061: Syntaxfehler: Bezeichner '_Ptr2' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2135): error C2533: 'Widelands::std::_Unique_ptr_base<_Ty,_Dx,_Empty_deleter>': Ergebnistyp für Konstruktoren nicht zulässig 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2135): error C2461: 'Widelands::std::_Unique_ptr_base<_Ty,_Dx,_Empty_deleter>': Formale Parameterliste für Konstruktor fehlt 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2135): error C2065: '_Ptr': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2135): error C3861: "_Myptr": Bezeichner wurde nicht gefunden. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2135): error C2461: 'Widelands::std::_Unique_ptr_base<_Ty,_Dx,_Empty_deleter>': Formale Parameterliste für Konstruktor fehlt 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2135): error C2061: Syntaxfehler: Bezeichner '_Dt' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2136): error C2143: Syntaxfehler: Es fehlt ';' vor '{' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2136): error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2139): error C2143: Syntaxfehler: Es fehlt ';' vor '&' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2139): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2140): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2142): warning C4183: 'get_deleter': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2144): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2144): error C2143: Syntaxfehler: Es fehlt ';' vor '&' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2145): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2147): warning C4183: 'get_deleter': Rückgabetyp fehlt; Memberfunktion, die 'int' zurückgibt wird angenommen 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2149): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner '_Myptr' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2149): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2149): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2150): error C2377: 'Widelands::std::_Unique_ptr_base<_Ty,_Dx,_Empty_deleter>::_Mydel': Neudefinition; typedef kann nicht mit einem anderen Symbol überladen werden 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2135): Siehe Deklaration von 'Widelands::std::_Unique_ptr_base<_Ty,_Dx,_Empty_deleter>::_Mydel' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2160): error C2143: Syntaxfehler: Es fehlt ';' vor '<' 3> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2186): Siehe Verweis auf die Instanziierung der gerade kompilierten Klassen-template "Widelands::std::_Unique_ptr_base<_Ty,_Dx,true>". 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2160): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2160): error C2238: Unerwartete(s) Token vor ';' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2161): error C2065: '_Dx_noref': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2161): error C2065: '_Dx_noref': nichtdeklarierter Bezeichner 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2161): error C2059: Syntaxfehler: ')' 3>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\memory(2161): fatal error C1003: Mehr als 100 Fehler gefunden; Kompilierung wird abgebrochen. As example, there are tons of similar erros, but they seem to be related. Does anyone know, what I forgot? Thanks in advance Marten ![]() ![]() |
SirVer |
Posted at:
2013-11-04, 06:20 UTC+1.0
I do not know in how far c++ 11 is supported in VC10, so I cannot comment if it is possible to compile with it or not. I know that some people did in the past, but that most people on windows seem to use the mingw toolchain. GunCheloc recently got the game to compile using mingw - you'll find several posts of his in the forum looking for help and/or you might reach out directly to him for help. ![]() ![]() |
GunChleoc![]() |
Posted at:
2013-11-04, 18:37 UTC+1.0
My (successfuly concluded) MinGW Odyssey starts here: https://wl.widelands.org/forum/topic/1343/?page=1#post-9805 and I also did my best to update the Wiki page https://wl.widelands.org/wiki/BuildingWidelandsUnderWindows/ Viel Glück! Busy indexing nil values ![]() ![]() |
MartenR![]() Topic Opener |
Posted at:
2013-11-05, 08:04 UTC+1.0
Thanks, I will try to go through it. May be on the page for compiling widelands, it should be stated that MS VC 2010 is not working anymore and MingW is now the prefered build environment????? Marten ![]() ![]() |
hjd |
Posted at:
2013-11-05, 20:04 UTC+1.0
Part of the problem here is that the majority of developers are using GNU/Linux or OS X, while only a few run Windows. Therefore wl has failed to build from source in Visual Studio simply because time goes by and changes are introduced to the code. This has happened a couple of times where it hasn't been discovered until later. (These issues have been VS-specific not affecting GCC nor Clang.) That said, we want Widelands to be buildable on all (well, at least most modern) compilers. There's multiple reasons for this, but we avoid locking ourselves to one compiler, we verify our source code is solid since it can be interpreted by multiple separate compiler implementations, and we are able to leverage the different warnings/suggestions for improvements found in each compiler to further improve the quality of the code base, among others. So yes, Visual Studio should be supported, and if WL fails to build, that should be treated as a bug and reported as such. There's a small caveat here though, namely versions. As you mention, we have introduced various c++11 elements to the code base and I don't really know whether VS2010 supports all of them. c++11 support in general has improved in recent years and from what I remember VS2012 should have nearly complete coverage of c++11 features, and if something was missing I'm sure VS2013 has improved upon it. (This issue is not unique to VS, btw, we also have a cut-off for how old a release of GCC can be before it runs into problems with the c++11 code). So if you could test with the recently released VS2013 or at least VS2012 to see whether it builds there, that would be great. If it still fails in the latest release, that is a bug. In short, I would like to keep Visual Studio listed as a supported compiler (because it should be), though we may want to note the minimum required version due to the c++11 parts of the code base. Ships! ![]() ![]() |
SirVer |
Posted at:
2013-11-05, 20:26 UTC+1.0
I agree with hjd completely. Also, this is a Wiki - if you can update the pages because you have experience with building widelands on windows - go for it. Very few developers are on Windows and therefore cannot fix the pages. ![]() ![]() |
MartenR![]() Topic Opener |
Posted at:
2013-11-06, 08:25 UTC+1.0
I have tested it first with VS c++ 2008, and there the compatibility clearly is broken by C++11 elements. (It was one of the elements SirVer mentioned at a discussion at the bugtracker). So this can be stated in the wiki, that 2008 does not work anymore. (May be I do this now?) For the VS C++ 2010 bug I do not know, if it is C++11 related, it could also be that I missed something while setting up the build environment. Mainly it is the code: namespace Widelands { class Game; class PlayerCommand; enum class PlayerEndResult: uint8_t; } that causes the problems (uint8_t is now valid base class). Is it C++11? I am very old fashioned at modern constructs. I will first go with the MinGW, but I may also check newer VS c++ versions. The problem with the newer VS C++ versions is that a lot of tools and libraries on which widelands depends are not available for 2013 and/or 2012. One are the precompiled boost packages(company went out of business). So it probably better to only stick to the MinGW in the moment. Marten ![]() ![]() |
MartenR![]() Topic Opener |
Posted at:
2013-11-09, 14:19 UTC+1.0
I tried to check it with VS C++ 2012 and 2013, but I am not able to install it, since I have still vista on my computer.... So I stick to MingW. Marten ![]() ![]() |