c++ mingw cxxtest

c++ - Errores extraños MinGW/CxxTest



(1)

Espero que puedas ayudarme. He escrito un pequeño proyecto usando CxxTest en mi máquina principal de desarrollo. Todo funciona muy bien en esta máquina, sin problemas. Sin embargo, intenté configurar este proyecto en mi nueva computadora portátil y ¡simplemente no puedo hacer que funcione! Sospecho que algo está mal con mi instalación de MinGW en lugar de CxxTest, pero es realmente difícil de saber, y los errores se originan en los archivos de CxxTest. Esta es la estructura de carpetas del proyecto:

lib/ cxxtest-4.3/ src/ TestUtils.h test.cpp test/ MyTestSuite.h libstdc++-6.dll

En la línea de comando ejecuto:

cd test ../lib/cxxtest-4.3/bin/cxxtestgen --error-printer -o runner.cpp MyTestSuite.h

Esto genera runner.cpp. Ahora corro:

g++ -o runner.exe runner.cpp -I "../lib/cxxtest-4.3" -std=c++11

Esto generalmente funciona bien, generando runner.exe y ejecutando mis pruebas unitarias. En mi computadora portátil solo recibo miles de errores. Aquí hay un vistazo a los primeros:

In file included from c:/mingw/include/wchar.h:208:0, from c:/mingw/lib/gcc/mingw32/4.9.3/include/c++/cwchar:44, from c:/mingw/lib/gcc/mingw32/4.9.3/include/c++/bits/postypes.h:40, from c:/mingw/lib/gcc/mingw32/4.9.3/include/c++/iosfwd:40, from c:/mingw/lib/gcc/mingw32/4.9.3/include/c++/ios:38, from c:/mingw/lib/gcc/mingw32/4.9.3/include/c++/istream:38, from c:/mingw/lib/gcc/mingw32/4.9.3/include/c++/sstream:38, from c:/mingw/lib/gcc/mingw32/4.9.3/include/c++/complex:45, from ../lib/cxxtest-4.3/cxxtest/StdHeaders.h:24, from ../lib/cxxtest-4.3/cxxtest/StdValueTraits.h:22, from ../lib/cxxtest-4.3/cxxtest/ValueTraits.h:400, from ../lib/cxxtest-4.3/cxxtest/TestSuite.h:24, from ../lib/cxxtest-4.3/cxxtest/RealDescriptions.h:20, from ../lib/cxxtest-4.3/cxxtest/TestRunner.h:22, from runner.cpp:11: c:/mingw/include/sys/stat.h:173:14: error: ''_dev_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:173:14: error: ''_ino_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:173:14: error: ''_mode_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:173:14: error: ''_dev_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:173:14: error: ''_off_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:173:14: error: ''time_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:173:14: error: ''time_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:173:14: error: ''time_t'' does not name a type struct _stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''_dev_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''_ino_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''_mode_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''_dev_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''_off_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''time_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''time_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:180:13: error: ''time_t'' does not name a type struct stat __struct_stat_defined( _off_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''_dev_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''_ino_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''_mode_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''_dev_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''__off64_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''time_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''time_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:188:17: error: ''time_t'' does not name a type struct _stati64 __struct_stat_defined( __off64_t, time_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''_dev_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''_ino_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''_mode_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''_dev_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''__off64_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''__time64_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''__time64_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t ); ^ c:/mingw/include/sys/stat.h:195:17: error: ''__time64_t'' does not name a type struct __stat64 __struct_stat_defined( __off64_t, __time64_t );

Cuando ejecuto g ++ en un simple archivo de hello world, funciona bien. ¿Alguien sabe lo que está pasando?


También actualicé recientemente MinGW y me encontré con problemas muy similares. Después de algunas investigaciones, encontré esta pregunta sobre SO e intenté reemplazar -std=c++11 con -std=gnu++11 . Esto resolvió el problema para mí. ¡Espero que ayude!