添加<random>头文件的正确方法是什么?</random>

时间:2013-07-21 05:03:07

标签: c++ c++11

我试图使用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

我该如何解决这个问题?

2 个答案:

答案 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中。