From: Daniel <bad...@ya...> - 2008-06-14 22:58:13
|
While compiling on a Solaris 10 box, I get the following: In file included from /usr/include/wctype.h:53, from ../lib/gcc/sparc-sun-solaris2.10/4.2.0/include/c++/cwctype:53, from ../workspace/solaris/sun4u/vxl/vcl/iso/vcl_cwctype.h:6, from ../workspace/solaris/sun4u/vxl/vcl/vcl_cwctype.h:19, from ../workspace/solaris/sun4u/vxl/vcl/tests/test_include.cxx:14: /usr/include/iso/wctype_c99.h:48: error: declaration of C function 'int iswblank(wint_t)' conflicts with ../workspace/solaris/sun4u/vxl/vcl/vcl_cwctype.h:18: error: previous declaration 'int iswblank(unsigned int)' here Here is the code that causes this compile error: #if !VCL_CXX_HAS_HEADER_CWCTYPE # include <wctype.h> #elif defined(hpux) // PVr: HP does not have /usr/include/wctype.h // fsm: but the compiler might supply <cwctype>? // PVr: but that file probably just #includes wctype.h? # include <wchar.h> #elif defined(sun) >> // PVr: solaris 2.7 does not declare iswblank << extern "C" int iswblank(unsigned int); # include "iso/vcl_cwctype.h" #else # include "iso/vcl_cwctype.h" #endif Somewhere between 2.7 and 2.10 Sun must have added this declaration, so #elif defined(sun) is too general now. Is there something more specific I can put in there? Thanks, Dan P.S. I am using the gcc compiler version 4.2.0 for solaris 10. |