简体   繁体   English

安装wxwidgets 2时遇到问题

[英]Trouble with installing wxwidgets 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: 如果您在安装wxwidgets 1时遇到麻烦,并且再次遇到问题,则必须查看此问题并阅读答案。让我们开始吧,删除无用的gcc路径后,我在控制台中得到了此信息:

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

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. 不幸的是,wxWidgets 3.0.2在g ++ 5.1之前(甚至在g ++ 4.9之前,或者可能接近于g ++ 4.9)发布,因此在使用它时,它并不能在C ++ 98模式下随其进行编译。 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. 如果不确定如何做,最好的选择是从git那里WX_3_0_BRANCH的最新资源。
  2. Build in C++11 mode by appending CXXFLAGS=-std=gnu++11 to your make command line. 通过将CXXFLAGS=-std=gnu++11附加到make命令行,以C ++ 11模式进行构建。 If you do this, remember to use the same flags when building your application using wxWidgets too later! 如果这样做,请记住稍后使用wxWidgets构建应用程序时要使用相同的标志!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM