Kann nicht kompiliert werden, mit Zeit - und Uhr-Funktionen C++

Ich ab meine erste GNU-Projekt basierend auf ein weiteres GNU-Projekt zu verbessern und ändern Sie die Implementierung.

Habe ich versucht zu implementieren, meine eigene build-Methode, aber Zeit - und Uhr-Funktionen brach meine bauen.

Gelesen habe ich eine Menge Fragen auf Stack Overflow, aber ich bin sehr verwirrt mit den drei Bibliotheken chrono, ctime und time.h.

Dies ist die build-Fehler:

/src/gamed/Logger.cpp

#include "Logger.h"
#include <errno.h>
#include <string.h>

#include <stdarg.h>

#include <time.h>

const std::string Logger::CurrentDateTime()
{
    time_t     now = time(0);
    struct tm  tstruct;
    char       buf[80];
    tstruct = *localtime(&now);
    strftime(buf, sizeof(buf), "%Y-%m-%d %X", &tstruct);

    return buf;
}

Fehler: time, localtime und strftime Bezeichner nicht gefunden

/src/gamed/Pakete.h

#ifndef _PACKETS_H
#define _PACKETS_H

#include <time.h>
#include <cmath>
#include <set>

{...}

class GamePacket : public BasePacket {

public:
   GamePacket(uint8 cmd = 0, uint32 netId = 0) : BasePacket(cmd, netId) {
      buffer << (uint32)clock();
   }

};

Fehler: Uhr-Bezeichner nicht gefunden

/src/gamed/Pathfinder.cpp

#include "Logger.h"
#include "Pathfinder.h"
#include "Map.h"
#include "AIMesh.h"
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <chrono>
#include "Logger.h"
#include "Minion.h"
#include "Champion.h"

Map * Pathfinder::chart = 0;
auto g_Clock = std::clock();

Fehler: - Uhr nicht Mitglied der std

Was mache ich falsch?

  • #include <ctime> nicht time.h.
  • Ersetzt habe ich Zeit.h mit <ctime> und machen eine Menge Fehler auf #, wenn GLOBAL_USING && !definiert(RC_INVOKED) _STD_BEGIN mit _CSTD clock_t; mit _CSTD size_t; mit _CSTD time_t; mit _CSTD tm; mit _CSTD asctime; mit _CSTD Uhr; mit _CSTD ctime; mit _CSTD difftime; mit _CSTD gmtime; mit _CSTD localtime; mit _CSTD mktime; mit _CSTD strftime; mit _CSTD Zeit; _STD_END #endif /* _GLOBAL_USING */ #endif /* _CTIME */
  • Ich ersetzte std::clock() mit clock (), aber immer noch Fehler
  • welchen compiler benutzt du?
  • user2079303: Visual Studio 2013 Ultimate auf Windows 8.1, aber ich habe travis-ci auf das repository und Fehler zu: travis-ci.org/FoxEmu/FoxEmu
  • die Fehler stammen aus dem standard-Header und scheint ein Kompatibilitätsproblem mit dem compiler.
  • Haben Sie zufällig #define _SYS_TIME_H oder _TIME_H oder etwas ähnliches in Ihren Kopfzeilen oder als parameter an den compiler? Das würde wahrscheinlich dazu führen, den Fehler, dass Sie in travis.

Schreibe einen Kommentar