C++代码只能在终端运行程序时执行

问题描述:

我有一个奇怪的问题,只有当程序没有从终端执行时才会出现。这里是我的项目: https://github.com/elliotpotts/Troll/ https://github.com/elliotpotts/Troll/issues/2C++代码只能在终端运行程序时执行

看那Troll::State::keyPressed()功能。由于某些原因,当我从终端运行程序时,一切都很好,并且存在应用程序,但是当我将它作为GUI程序运行时,应用程序不会退出。我想不出为什么。在此先感谢,埃尔。

编辑:不加入食人魔标签,而不是张贴的keyPressed功能道歉,那就是:

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(); 
    }; 
}; 

当运行从终端,这是有效的,否则,它不会。另外还有一点需要注意的是,我目前还没有正在运行的调试程序,我也在尝试修复。埃尔。

+0

对不起,不能帮助,但也许增加** **食人魔标签可能会从正确的人提请注意。 – 2011-05-19 16:23:09

+0

你可以在这里复制/粘贴'keyPressed()'定义吗? – 2011-05-19 16:23:31

+0

也许GUI框架拥有自己的KeyEvent处理程序来获取密钥? – 2011-05-19 16:55:22

事实证明,这是造成问题的IDE,感谢您的帮助反正,ELL :)