安装wxwidgets 2时出现问题

Trouble with installing wxwidgets 2

本文关键字:问题 2时 wxwidgets 安装      更新时间:2023-10-16

如果你看到我在安装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_mswudbaselib_any.o' failed
mingw32-make: *** [gcc_mswudbaselib_any.o] Error 1
C:wxWidgets-3.0.2buildmsw>

这是命令

cd %WXWIN%buildmsw
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

不幸的是,wxWidgets 3.0.2在g++5.1之前(甚至在g++4.9之前,或者可能接近g++4.9)就已经发布了,所以在使用它时,它不会在C++98模式下开箱即用地编译。这个问题从那以后就得到了解决,但没有在官方版本中得到解决,所以你有两个选择:

  1. 将此修复程序应用于您的源。如果你不确定如何做到这一点,你最好的办法就是从git中获取WX_3_0_BRANCH的最新来源
  2. 通过将CXXFLAGS=-std=gnu++11附加到make命令行,在C++11模式下进行构建。如果您这样做,请记住稍后使用wxWidgets构建应用程序时使用相同的标志