2016-07-18 14 views
16

私があなたを助けてくれることを願っています。私は主な開発マシンにCxxTestを使って小さなプロジェクトを書いています。すべてがこのマシンでうまく動作しますが、問題はありません。しかし、私はこの新しいノートパソコンでこのプロジェクトをセットアップしようとしましたが、うまく動作しません!私は何かがCxxTestではなく私のMinGWインストールでうんざりしていると思っていますが、それは本当に知るのが難しいです - そしてエラーはCxxTestファイルから発生します。私が実行して、コマンドラインでMinGW/CxxTest bizarre errors

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

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

これはrunner.cppを生成これは、プロジェクトのフォルダ構造です。今すぐ実行します:

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

これは通常、runner.exeを出力してユニットテストを実行して正常に動作します。私のラップトップでは、何千ものエラーが出るだけです。

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); 

私はシンプルなハローワールドファイルにG ++実行すると、それが正常に動作します:ここでは最初の数を見てです。誰が何が起こっているのか分かっていますか?

答えて

38

最近MinGWも更新され、非常によく似た問題が発生しました。いくつかの研究の後、私はthis question on SOを見つけ、-std=c++11-std=gnu++11に置き換えようとしました。これは私の問題を解決しました。希望が助けてくれる!

+2

ルーカス - ありがとう!これは確かに問題でした。私は今、各マシンに異なるバージョンのMinGWを持っているのを見ています。 – Draknir

+5

私はCLionにこの問題がありました。私はCMakeLists.txtを編集し、-std = C++ 11を-std = gnu ++ 11に変更しなければなりませんでした。ありがとうございました! – JDPeckham