SDL i konsola (C++)

0

Witam otóż od niedawna uczę się SDL mam problem z stworzeniem własnego logera.

Mianowicie normalnie to otwieram sobie plik i wpisuje do niego wiadomość + linia to taki loger programiku jednak chcę zrobić coś takiego, że otwiera konsolkę i w niej wypisuje komunikaty.

< Otwieram cmd i wpisuje text(w programie sdl) za pomocą np. std::cout jednak nic nie wyświetla a aplikacja z sdl się zawiesza do momentu aż wyłączę konsole...

Tak więc główne pytanie to:
Żeby wypisywać komunikaty w konsoli nie zawieszając przy tym pracy programu SDL powinnem poczytać o: Wątkach? Dziedziczenie? Preprocesor? A może coś innego?

Są to działy z symfoni C++ standard i tutoriali których jeszcze nie przejrzałem.

0

Jak kompilujesz swój program? W przypadku MinGW, jeżeli dodajesz opcję -mwindows (Create GUI application), powinieneś się jej pozbyć (jeśli będą problemy z kompilacją, możesz spróbować dodać -mwin32).
Poza tym zależy też jak masz skompilowane SDL - zdaje się, że domyślnie na Windows dane wyrzucane na stdout i stderr zapisywane są w plikach tekstowych, odpowiednio stdout.txt i stderr.txt. Jeśli chcesz zmienić to zachowanie, to odpowiada za nie flaga ./configure --enable-stdio-redirect=no. http://blog.pantokrator.net/2006/08/08/setting-up-msysmingw-build-system-for-compiling-sdlopengl-applications/

Jeżeli nie zamierzasz rekompilować SDL, to możesz jeszcze zrobić swoją własną "konsolę" wyświetlającą Twój plik.log w nowym oknie - wczytaj po prostu swój log i sprawdzaj co jakiś czas czy jego długość się nie zmieniła, jeżeli tak - wczytaj dodaną część.
Ewentualnie zamiast do pliku (albo po zapisaniu do pliku) dodawać tekst bezpośrednio do kontrolki w oknie konsoli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1