Search code examples
c++boostg++cygwin

Boost under cygwin error


command line is

g++ -c -Wall -I "C:/cygwin/usr/include/" test.cpp

Here's the error message:

C:/cygwin/usr/include/stdint.h:62:22: error: conflicting declaration 'typedef unsigned int uintptr_t'
c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/_mingw.h:352:44: error: 'uintptr_t' has a previous declaration as 'typedef long long unsigned int uintptr_t'
In file included from C:/cygwin/usr/include/boost/assert.hpp:81:0,
                 from C:/cygwin/usr/include/boost/system/error_code.hpp:16,
                 from C:/cygwin/usr/include/boost/filesystem/v3/path_traits.hpp:23,
                 from C:/cygwin/usr/include/boost/filesystem/v3/path.hpp:25,
                 from C:/cygwin/usr/include/boost/filesystem.hpp:35,

c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.2/cstdlib:195:11: error: '::strtold' has
 not been declared
c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.2/cstdlib:215:22: error: '__gnu_cxx::str
told' has not been declared
In file included from c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.2/bits/postypes.h:
42:0,
                 from c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.2/iosfwd:42,
                 from c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.2/ios:39,
                 from c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.2/ostream:40,
                 from c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.2/iostream:40,
                 from C:/cygwin/usr/include/boost/assert.hpp:82,
                 from C:/cygwin/usr/include/boost/system/error_code.hpp:16,
                 from C:/cygwin/usr/include/boost/filesystem/v3/path_traits.hpp:23,
                 from C:/cygwin/usr/include/boost/filesystem/v3/path.hpp:25,
                 from C:/cygwin/usr/include/boost/filesystem.hpp:35,

Any help, I don't understand why python27 directory is checked.


Solution

  • Looks like python27 folder contains mingw - that is cygwin alternative. Probably default headers search path is set to mingw's dir (c:/python27/egg-info/mingw/usr/lib/gcc/../../x86_64-w64-mingw32/include/).

    Check are following environment variables set:

    CPATH
    C_INCLUDE_PATH
    CPLUS_INCLUDE_PATH
    OBJC_INCLUDE_PATH
    

    Also you could try to compile with : 1)-nostdinc option to ignore default include dirs 2) -v to verbose g++ output