0

我目前在代码块 8.02 中使用 SDL-devel-1.2.13-mingw32 库。在 C:\ 上单独安装 mingw 5.1.6 后,该程序编译并运行没有错误,但我看不到最后一个系统(“暂停”);屏幕上。当我按任意键时,它当然会跳过系统(“暂停”);然后代码块告诉我它成功运行。它也不会显示 cout << " SDL \n"; 怎么回事?

#include <iostream> #include <SDL.h> using namespace std; int main(int argc, char *argv[]) { cout << " SDL \n"; cout << endl; if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == -1) { cerr << "Failed to initialize SDL: " << SDL_GetError() << endl; exit(1); } atexit(SDL_Quit); system("pause");` return 0; }
4

2 回答 2

0

根据用于编译 SDL 的选项,控制台输出可能会重定向到名为 stdout.txt 和 stderr.txt 的文件——这是大多数 Windows 构建的默认设置。

有关解决方案,请参阅此 wiki 文章:http ://www.libsdl.org/cgi/docwiki.cgi/FAQ_Console

于 2009-10-08T02:27:55.163 回答
0

这真的很旧,但是您可以在 main() 的开头添加两行以使 cout 正常工作:

freopen("CON", "w", stdout);
freopen("CON", "w", stderr);
于 2011-03-09T15:34:22.570 回答