我试图使用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
我该如何解决这个问题?
答案 0 :(得分:5)
...并且必须使用
-std=c++0x
或-std=gnu++0x
编译器选项启用。
你没看过那个位吗?您需要将其中一个添加到编译器命令行中(或者,如果您使用的是IDE,则IDE使用任何方法来设置选项)。可以在here找到有关gcc中C ++ 11支持的详细信息。
例如(命令行编译),如果当前命令是
g++ -o myprog myprog.cpp
您可以将其更改为
g++ -std=c++0x -o myprog myprog.cpp
答案 1 :(得分:1)
random
是在C ++ 11中引入的,所以将它添加到你的g ++选项中:
--std=c++0x
或
--std=gnu++0x
该选项可能在你的makefile中。