Проблемы с пониманием MinGW; this_thread не является именем пространства имен - PullRequest
0 голосов
/ 23 февраля 2020

любитель здесь. Поэтому я создал простой генератор строк в Code :: Blocks (тот, который был в комплекте с MinGW) на другом компьютере, и он работал нормально. Я попытался открыть его на этом новом компьютере и получил кучу ошибок. После копирования и вставки всех строк в новый проект, теперь я получаю только эти ошибки:

C: \ Users \ rpret \ Desktop \ Code \ NameGen \ main.cpp | 115 | error: ' this_thread 'не является именем пространства имен | C: \ Users \ rpret \ Desktop \ Code \ NameGen \ main.cpp | 115 | примечание: предлагаемая альтернатива: 'wistream' | C: \ Users \ rpret \ Desktop \ Code \ NameGen \ main.cpp | 115 | ошибка: ожидаемое имя пространства имен перед ';' маркер | C: \ Users \ rpret \ Desktop \ Code \ NameGen \ main.cpp | 118 | ошибка: «sleep_for» не было объявлено в этой области | C: \ Users \ rpret \ Desktop \ Code \ NameGen \ main.cpp | 119 | ошибка: 'sleep_until' не был объявлен в этой области |

Я искал все эти строки отдельно, прочитайте все приведенные решения, и я до сих пор не могу понять это. Я попытался удалить и повторно установить Code :: Blocks. Я попытался установить базовый Code :: Blocks и пакет Code :: Blocks / MinGW, который я использовал на своем другом компьютере. Я даже скопировал папку MinGW со своего старого компьютера и попытался использовать ее, но она все еще не работает. Все, что я знаю, это то, что эта программа работала отлично, пока я не переключился на новый компьютер. Любая помощь будет принята с благодарностью!

#include <fstream>
#include <string>
#include <ctime>    // For time()
#include <cstdlib>  // For srand() and rand()
#include <time.h>       /* time */
#include <stdio.h>      /* printf, NULL */
#include <chrono>
#include <thread>
#include "factions.h"


int firstPrompt(){

    int userChoice;

    std::cout << "Welcome! Which generator do you need? \n1: Items \n2: Enemies \n3: Descriptions \n4: Faction/Tribe Names \n5: Move Names \n6: Move Names w/ desc \n7: Bosses";
    std::cout << " \n8.Exit \n>";
    std::cin >> userChoice;

    return userChoice;
}

int genCount(){

    int userAmount;

    std::cout << "And how many descriptions would you like? \n>";
    std::cin >> userAmount;

    return userAmount;
}

int repeatPrompt(){

    int repeatChoice;

    std::cout << "Would you like to generate more names? \n1. Yes \n2. No \n>";
    std::cin >> repeatChoice;

    return repeatChoice;
}
int enemySel(){

    int s;
    std::cout << "1: Human \n2: Beast \n3: Boss/Miniboss \n4: Mixed \nOther: Exit \n>";
    std::cin >> s;


    return s;
}

int userRarity(){

    int rarity{};
    std::cout << "Choose a rarity: \n1: Common\n2: Uncommon\n3: Rare\n4: Epic\n5: Legendary\n6: Mixed\n>";
    std::cin >> rarity;

    return rarity;
}

int factPicker(){

    int f;
    std::cout << "1: Human \n2: Tribal \n3: Mixed\nOther: Exit \n>";
    std::cin >> f;

    return f;

}
int main(){

    srand( (unsigned int)time(NULL) );          //For rand() function

    int repChoice = 0;



    do{
    int n = firstPrompt();
    int z = genCount();
    int nn;
    int rarity;
    int fact;




    if (n==1){
        rarity = userRarity();
    }
    else if (n==2){
        nn = enemySel();
    }
    else if (n==4){
        fact = factPicker();
    }
    else if (n==5){
        rarity = 5;
    }



    for (int cnt = 0; cnt < z; cnt++){


        std::cout << (cnt + 1) << ". ";

        if(n==1){ //Item generator

        if (rarity < 6){ //Single rarity
        itemGen(rarity);
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));
        }
        else{       //Mixed rarity

                    int randRa = (rand() % 100) + 1;      //Roll for rarity
        int finaRa;

        if (randRa <= 40){
            finaRa = 1;
        }
        else if (randRa >= 41 && randRa <= 70){
            finaRa = 2;
        }
        else if (randRa >= 71 && randRa <=89){
            finaRa = 3;
        }
        else if (randRa >= 90 && randRa <=97){
            finaRa = 4;
        }
        else{
            finaRa = 5;
        }
        itemGen(finaRa);
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));
        }

        }
        else if(n==2){ //Enemy generator

        if (nn == 4){

                    int randRa = (rand() % 100) + 1;      //Roll for rarity
        int finaRa;

        if (randRa <= 33){
            finaRa = 1;
        }
        else if (randRa >= 34 && randRa <= 67){
            finaRa = 2;
        }
        else {
            finaRa = 3;
        }

        enemyGen(finaRa);
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));

        }
        else{
        enemyGen(nn);
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));
        }

        }
        else if(n==3){ //Description generator

        descGen();
        std::cout << "\n\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));

        }
        else if(n==4){ //Faction/Tribe name generator

        if(fact==1){
                factionSolo();
        }
        if(fact==2){
                tribalSolo();
        }
        if(fact==3)
        {
                mixedSolo();
        }
        else{
            return 0;
        }
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));

        }


        else if (n==5){ //Moves generator

        std::string moves = moveName();
        std::cout << moves;
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));
        }

        else if (n==6){ //Moves with descriptions

        moveDesc();
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));
        }

        else if (n==7){ //Boss generator

        bossName();
        std::cout << "\n";

        using namespace std::this_thread; // sleep_for, sleep_until
        using namespace std::chrono; // nanoseconds, system_clock, seconds

        sleep_for(nanoseconds(10));
        sleep_until(system_clock::now() + seconds(1));
        }
    }
    repChoice = repeatPrompt();

    }while(repChoice == 1);





}



...