mingw(windows全般かな?)でSDLを使う場合にprintfやstd::coutが標準出力ではなくstdout.txtにリダイレクトされてしまうっぽい。
試してないので間違っているかもしれないけどSDLのライブラリをソースからリダイレクトしないようにビルドすればいいらしい。configureオプションに--disable-stdio-redirectオプションを付加してビルドしてlibSDLmain.aを作り直す。そのご自分のアプリケーションとリンクするときは-mwindowsをはずしてコンパイルする。
自分はBlender Foundationから提供されているバイナリをつかっているので一般的な解決方法化わからないが
#include "SDL.h"
#ifdef __MINGW32__
#undef main
#endif
のように#undef mainを定義して(__MINGW32__の部分は開発環境による)リンク時には-mwindowsと-lSDLmainをはずしてコンパイルすると標準出力に表示される。まぁよくわかってないので適当だけど。
SDLでglewを使う場合、SDL側のGL拡張と干渉するためNO_SDL_GLEXTを定義する
#include "GL/glew.h"
#define NO_SDL_GLEXT
#include "SDL_opengl.h"
http://sdl.beuc.net/sdl.wiki/FAQ_Console
http://d.hatena.ne.jp/gamesyokunin/20041226#p3
0 件のコメント:
コメントを投稿