我试图创建一个随机整数向量但是当我尝试用mpic++
进行编译时,它会给出一个错误,让我相信我的编译器不喜欢{{1} }。下面是我尝试编译的代码。
#include <random>
我使用#include <stdio.h>
#include <stdlib.h>
#include <random>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
int main(int argc, char **argv)
{
vector<int> vec(5);
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<> dis;
generate(vec.begin(), vec.end(), [&](){ return dis(gen); });
return 0;
}
,因为它是使用它的更大程序的一部分,但问题在于这部分代码。以下是我用来编译它的内容。
openmpi
以下是我得到的错误:
mpic++ program.cpp -o program.o
gcc版本为In file included from /usr/include/c++/4.8/random:35:0,
from program.cpp:3:
/usr/include/c++/4.8/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options
。有没有我可以尝试使用该标准进行编译的标志?
答案 0 :(得分:1)
按照编译器的建议并使用std
标志:
-std=c++11
标头random
实际上是C ++ 11扩展。此问题与openMPI无关。