使用MinGW / Qt的srand(time(NULL))

时间:2012-02-09 13:57:59

标签: qt time mingw srand ctime

我想在我的应用程序中更改随机种子,但Qt Creator对我说“c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:62:错误:':: clock_t'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:66:错误:':: clock'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:67:错误:':: difftime'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:68:错误:':: mktime'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:69:错误:':: time'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:70:错误:':: asctime'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:71:错误:':: ctime'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:72:错误:':: gmtime'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:73:错误:':: localtime'尚未声明

c:\ qt \ 2010.05 \ mingw \ bin ../ lib / gcc / mingw32 / 4.4.0 / include / c ++ / ctime:74:错误:':: strftime'尚未声明“

我包括:#include <cstdlib> #include <ctime> 这很奇怪,因为用VC ++编译相同的代码!

谢谢!

3 个答案:

答案 0 :(得分:0)

#include <cstdlib>
#include <ctime>

#include "Coloration.h"

class Glouton : public Coloration
{
    public:
            //Fonctions
            virtual void colorier(Graphe*);
};



#include "Glouton.h"

void Glouton::colorier(Graphe* g)
{
        srand((unsigned)time(0));

    vector<Sommet*> liste = g->getSommets();

    int nbr_sommets = liste.size();
    int sommets_color = 0;
    int random = 0;
    int couleur_max = 0;
    vector<int> tab;

    while(sommets_color != nbr_sommets)
    {
        random = rand()%liste.size();

            [.....]
    }
}

答案 1 :(得分:0)

检查所有包含内容,因为您可能无法获取正确的包含文件。确保您没有在嵌套包含的某个地方包含您自己的time.h版本。

答案 2 :(得分:0)

由于您使用的是Qt,因此您可能想使用Qt RNG API(来自Qt 5.10)来生成随机数。使用硬件工具,即使没有种子,它也可以生成具有加密质量的真正随机数。参见:QRandomGenerator