私はWindowsでMinGWを使用しているgccコンパイラを使用しています。バージョンは4.9.3です。 -std = C++ 98、-std = C++ 03または-std = C++ 11が引数として使用されている場合、次のコードでエラーが発生します。場合-std =のGNU ++ 98#include <iostream>は、-std = C++を使用してエラーを返します。11
#include <iostream>
int main()
{
std::cout << "Hello world!" << std::endl;
return 0;
}
コードがエラーなしでコンパイル、-std =のGNU ++は03又はSTD = GNU ++ 11は、引数として使用されます。また、コードはC++バージョンの引数を使用しないときにエラーなしでコンパイルされます(g ++ test.cpp -c)
さらに調査したところ、#includeは問題を引き起こしていました。
int main()
{
return 0;
}
しかし、私のコードをテストするために含めるために他のものは、次の作品を探しているとき:
#include <cmath>
int main()
{
return 0;
}
が、これはstd = C++の引数のいずれかを使用する場合 このコードは、エラーを生成しませんしていない:
何が起こっているのですか? gnu ++の簡単な検索から、それは追加の拡張機能を提供していますが、上記のものと同じくらいシンプルなコードはどんな拡張機能にも依存してはいけませんか?
g ++ test.cpp -c -std = C++ 11でコードの最初の部分をコンパイルするときに発生する大きなエラーを貼り付けました。 http://pastebin.com/k0RLtWQz
最初のメッセージは、次のとおり
(また、GCCの新しいバージョンを使用する)にMinGW64に変更することによって解決$ g++ test.cpp -c -std=c++11
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++\ostream:38,
from c:\mingw\lib\gcc\mingw32\4.9.3\include\c++\iostream:39,
from test.cpp:1:
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);
^
…
これは起こりません。インストールが壊れているようです。 (また、古いです。)再インストールしましたか? –
related/dupe:http://stackoverflow.com/questions/38538924/g-updated-on-ming-get-massive-error-messages – NathanOliver
最初の2つのエラーメッセージが表示された場合は、インストール時に問題があります。 Unixシステムでは、 ''ヘッダが機能していないかのようになります。再インストールするかどうかについて真剣に考えてください。これは問題を解決する最も簡単な方法です。さもなければ、どのヘッダが '_ino_t'と' _dev_t'を定義していないかを追跡することになります。厳密なC++でコンパイルするときになぜそうしないのですか?システムのバグかもしれません。 GCC 4.9.3から6.1.0にアップグレードできますか? (GCC 4.9.4は、最後の4.9.xバージョンとして2016-08-03がリリースされました.GCC 5.4も同時にリリースされました) –