-3

mersenne_twister_engine を使用して 64 ビットの乱数を生成しようとしていますが、 をインクルードしようとすると#include <random>、コンパイラから以下の警告が表示されます。

/usr/include/c++/4.6/bits/c++0x_warning.h:32:2: エラー: #error このファイルには、今後の ISO C++ 標準である C++0x のコンパイラとライブラリのサポートが必要です。このサポートは現在実験段階であり、-std=c++0x または -std=gnu++0x コンパイラ オプションで有効にする必要があります。make: * [fuse.o] エラー 1

どうすればこれを修正できますか?

4

2 に答える 2

5

-std=c++0x...または-std=gnu++0xコンパイラ オプションで有効にする必要があります。

あなたはそのビットを読んでいませんか?これらのいずれかをコンパイラ コマンド ラインに追加する必要があります (または、IDE を使用している場合は、IDE がオプションを設定するために使用する任意の方法)。gcc での C++11 サポートの詳細については、こちらを参照してください。

たとえば (コマンド ライン コンパイル)、現在のコマンドが

g++ -o myprog myprog.cpp

あなたはそれを次のように変更します

g++ -std=c++0x -o myprog myprog.cpp
于 2013-07-21T05:07:30.363 に答える
1

randomは C++11 で導入されているため、これを g++ オプションに追加します。

--std=c++0x

また

--std=gnu++0x

オプションはおそらくメイクファイルにあります。

于 2013-07-21T05:06:05.270 に答える