2017-10-05 61 views
1

我一直在试图在Cygwin中构建wxWidgets 3.1.0。我跟着INSTALL.TXT描述的过程,总结如下:无法在Cygwin上构建wxWidgets - xlocale.h

cd $WXWIN 
mkdir build-debug 
cd build-debug 
../configure --enable-debug 
make -j4 

我也尝试了一些其他的标志的配置,如--with-X11,由this作为指导建议。然而,我不断收到的错误如下:

/home/acohen8/wxWidgets-3.1.0/build-debug/bk-deps g++ -c -o basedll_strvararg.o -D__WXMSW__  -DWXBUILDING  -I../src/regex -DwxUSE_GUI=0 -DWXMAKINGDLL_BASE -DwxUSE_BASE=1 -Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy -Woverloaded-virtual -D_FILE_OFFSET_BITS=64 -I/home/acohen8/wxWidgets-3.1.0/build-debug/lib/wx/include/msw-unicode-3.1 -I../include -g -O0 ../src/common/strvararg.cpp 
In file included from ../src/common/string.cpp:39:0: 
../include/wx/xlocale.h: In function ‘double wxStrtod_lA(const char*, char**, const wxXLocale&)’: 
../include/wx/xlocale.h:243:54: error: ‘strtod_l’ was not declared in this scope 
     { return wxCRT_Strtod_lA(c, endptr, loc.Get()); } 
                ^
../include/wx/xlocale.h: In function ‘long int wxStrtol_lA(const char*, char**, int, const wxXLocale&)’: 
../include/wx/xlocale.h:245:60: error: ‘strtol_l’ was not declared in this scope 
     { return wxCRT_Strtol_lA(c, endptr, base, loc.Get()); } 
                  ^
../include/wx/xlocale.h: In function ‘long unsigned int wxStrtoul_lA(const char*, char**, int, const wxXLocale&)’: 
../include/wx/xlocale.h:247:61: error: ‘strtoul_l’ was not declared in this scope 
     { return wxCRT_Strtoul_lA(c, endptr, base, loc.Get()); } 
                  ^
../include/wx/xlocale.h: In function ‘double wxStrtod_l(const wchar_t*, wchar_t**, const wxXLocale&)’: 
../include/wx/xlocale.h:301:58: error: ‘wcstod_l’ was not declared in this scope 
      { return wxCRT_Strtod_lW(c, endptr, loc.Get()); } 
                 ^
../include/wx/xlocale.h: In function ‘long int wxStrtol_l(const wchar_t*, wchar_t**, int, const wxXLocale&)’: 
../include/wx/xlocale.h:303:64: error: ‘wcstol_l’ was not declared in this scope 
      { return wxCRT_Strtol_lW(c, endptr, base, loc.Get()); } 
                   ^
../include/wx/xlocale.h: In function ‘long unsigned int wxStrtoul_l(const wchar_t*, wchar_t**, int, const wxXLocale&)’: 
../include/wx/xlocale.h:305:65: error: ‘wcstoul_l’ was not declared in this scope 
      { return wxCRT_Strtoul_lW(c, endptr, base, loc.Get()); } 
                   ^
/home/acohen8/wxWidgets-3.1.0/build-debug/bk-deps g++ -c -o basedll_sysopt.o -D__WXMSW__  -DWXBUILDING  -I../src/regex -DwxUSE_GUI=0 -DWXMAKINGDLL_BASE -DwxUSE_BASE=1 -Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy -Woverloaded-virtual -D_FILE_OFFSET_BITS=64 -I/home/acohen8/wxWidgets-3.1.0/build-debug/lib/wx/include/msw-unicode-3.1 -I../include -g -O0 ../src/common/sysopt.cpp 
make: *** [Makefile:25366: basedll_string.o] Error 1 
make: *** Waiting for unfinished jobs.... 

我非常感激这方面的一些建议!

回答

0

这很可能已经在wx的git master by this commit中修复了。但是,您可以使用configure --disable-xlocale解决该问题。