C++代码仅在程序从终端运行时执行

C++ Code Executes Only When the Program Is Run From The Terminal

本文关键字:终端 运行时 执行 程序 代码 C++      更新时间:2023-10-16

我有一个奇怪的错误,似乎只有在程序没有从终端执行时才会发生。这是我的项目:https://github.com/elliotpotts/Troll/https://github.com/elliotpotts/Troll/issues/2

看看Troll::State::keyPressed()函数。出于某种原因,当我从终端运行程序时,一切都很好,应用程序存在,但是当我将其作为 GUI 程序运行时,应用程序不会退出。我想不出为什么。提前谢谢,嗯。

编辑:很抱歉没有添加食人魔标签,也没有发布keyPressing功能,这里是:

void Troll::State::keyPressed(const OIS::KeyEvent& event){
    if(event.key == OIS::KC_Q) {
        mCreator->stop();
    };
};

我还尝试添加文件输出来测试它:

void Troll::State::keyPressed(const OIS::KeyEvent& event){
    std::cout << "Q was pressed" << std::endl;
    std::fstream file("log");
    file << "Q was pressed";
    file.close();
    if(event.key == OIS::KC_Q) {
        mCreator->stop();
    };
};

从终端运行时,这有效,否则,它不起作用。补充说明,我目前没有正常运行的调试器,我也在尝试修复。埃尔。

事实证明是IDE导致了问题,无论如何感谢您的帮助,ell :)