2

If you saw my trouble with installing wxwidgets 1 and if you too get problems again u must look this question and read answers Lets begin, after deleting useless gcc path i got this in console:

from ../../src/common/any.cpp:18: C:/TDM-GCC-32/lib/gcc/mingw32/5.1.0/include/c++/bits/c++0x_warning.h:32:2: error : #error This file requires compiler and library support for the ISO C++ 2011 st andard. This support is currently experimental, and must be enabled with the -st d=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the \ ^ In file included from ..\..\include/wx/string.h:46:0, from ..\..\include/wx/any.h:19, from ../../src/common/any.cpp:18: ..\..\include/wx/strvararg.h:350:18: error: 'is_enum' in namespace 'std' does no t name a template type typedef std::is_enum<T> is_enum; ^ ..\..\include/wx/strvararg.h:354:54: error: 'is_enum' was not declared in this s cope enum { value = wxFormatStringSpecifierNonPodType<is_enum::value>::value }; ^ ..\..\include/wx/strvararg.h:354:68: error: template argument 1 is invalid enum { value = wxFormatStringSpecifierNonPodType<is_enum::value>::value }; ^ makefile.gcc:11712: recipe for target 'gcc_mswud\baselib_any.o' failed mingw32-make: *** [gcc_mswud\baselib_any.o] Error 1 C:\wxWidgets-3.0.2\build\msw> 

It was command

cd %WXWIN%\build\msw mingw32-make -f makefile.gcc clean >>>mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=0 UNICODE=1 WXUNIV=0<<< mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=0 UNICODE=1 WXUNIV=0 
10
  • It's explicitly telling you the error. On the third line of you output it says your compiler doesn't support C++ 2011. Either enable that support or upgrade your compiler. Commented Nov 23, 2015 at 3:25
  • How to run support c++ 2011? Commented Nov 23, 2015 at 3:27
  • The error message is telling you how to enable it. It may look like gibberish but you should read compiler warning and errors very carefully. Commented Nov 23, 2015 at 3:34
  • i dont understand what i must do, i see this -std=gnu++11 and what next? Commented Nov 23, 2015 at 3:46
  • You have to add that option when you invoke the compiler when you compile your project. You will have to look into your makefile to see where the compiler options are set. Commented Nov 23, 2015 at 3:48

1 Answer 1

4

Unfortunately wxWidgets 3.0.2 had been released before g++ 5.1 (and even before, or maybe close to, g++ 4.9), so it doesn't compile out of the box with it in C++98 mode when using it. This problem has been fixed since, but not in an official release, so you have 2 choices:

  1. Apply this fix to your sources. If you're unsure how to do it, your best bet is to just grab the latest sources from WX_3_0_BRANCH from git.
  2. Build in C++11 mode by appending CXXFLAGS=-std=gnu++11 to your make command line. If you do this, remember to use the same flags when building your application using wxWidgets too later!
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.