std随机函数不工作-Qt-MinGw

std random functions not working - Qt MinGw

本文关键字:工作 -Qt-MinGw 函数 随机 std      更新时间:2023-10-16

我使用的是QtSdk 4.8.1和MinGw 4.7.2 的QtCreator 2.4.1

我正在尝试使用(c++11)随机库,但到目前为止我还没有成功。取以下示例代码:

#include <random>
...
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(1,6);
int dice_roll = distribution(generator);  // generates number in the range 1..6

编译器抱怨:

错误:"default_random_engine"不是"std"的成员

错误:"uniform_int_distribution"不是"std"的成员

我在.pro文件中有-std=c++0x标志。所有其他STL功能似乎都能正常工作,所以我很困惑!如果有人能帮我一把,我将不胜感激。

好吧,这是一个愚蠢的问题,但可能会发生在其他人身上,所以我们开始:

出于某种原因,我的代码是用MinGW 4.4编译的,这是我的Qt Creator默认附带的版本。为了让它回到我已经安装在电脑中的MinGw 4.7.2,我点击了QCreator屏幕左侧的"项目"选项卡,然后选择了正确的工具链。

非常感谢Joachim Pileborg为我指明了正确的方向。

我遇到了同样的问题,无法更改编译器。

我用qrand()替换了std::rand()

http://qt-project.org/doc/qt-4.8/qtglobal.html#qrand