Piszę prosty program OpenGL z Qt Creator, który w zasadzie tworzy QGLWidget, pokazuje go i uruchamia pętlę aplikacji. I jak zwykle debugowania więcej z komunikatów diagnostycznych włączane i wyłączane za pomocą symboli preprocesora że zastosowanie rzeczywistej debugger i zegarki itp Qt Creator mamy zakładkę o nazwie Zastosowanie Wyjście, ale wszystko co widzę jest „Uruchamianie xxx.exe. xxx.exe zakończył się kodem 0 ". Brak danych wyjściowych z std::cout
lub std::cerr
. Teraz wiem, że mógłbym uruchomić moją aplikację z cmd.exe (tak, używam Windowsa, uwielbiam: P) i widzę tam wyjście, ale chciałbym móc zobaczyć wyjście bezpośrednio z IDE. Czy to jest możliwe? DziękiCzy mogę zobaczyć wyniki programu w Qt-Creator?
Odpowiedz
Zwykle ekran wyjściowy aplikacji działa dobrze. Czy na pewno zobaczysz dane wyjściowe z cmd.exe (czy rzeczywiście próbowałeś?)? Zwykle jest wyłączone dla aplikacji interfejsu użytkownika, aby uniknąć pojawiania się okien konsoli. Wypróbuj CONFIG += console
. Sprawdź również, czy widzisz qDebug() wiadomości w Dane wyjściowe aplikacji.
Alternatywnie, można sprawdzić w konsoli „run” ustawienie w projektu-> Uruchom opcji. Spowoduje to otwarcie nowego okna konsoli i wyświetli tam wszystkie dane wyjściowe konsoli (jeśli oczywiście użyto metody CONFIG += console
).
prostu #include <QDebug>
a następnie użyć qDebug
zamiast cout
jak
qDebug() << "you just clicked ok";
też to działa
#include <QTextStream>
QTextStream out(stdout);
out << "\nHello World!\n";
dodanie CONFIG += console
w pliku .pro nie działa dla mnie. Zastanawiam się dlaczego?
Właśnie odkryłem, że muszę dodać "endl;" dla cout pracować jak
cout << "print this" << endl;
zdecydowanie poprawna odpowiedź! – DH1TW
Spróbuj: Narzędzia -> Opcje W zakładce "Ogólne" "Środowiska" zmień pozycję końcową od:
x-terminal-emulator -e
do
xterm -e
- 1. Gdzie mogę zobaczyć komunikaty programu Hubot?
- 2. Jak mogę zrobić wyjątek w QtCreator?
- 3. Bugzilla - Czy mogę zobaczyć, co zrobiłem wczoraj?
- 4. Jak mogę zobaczyć, co piszę w telnetu?
- 5. Jak mogę zobaczyć zmiany w Entity Framework?
- 6. Jak mogę zobaczyć plan wykonania?
- 7. Argumenty QtCreator i wiersza poleceń
- 8. Czy w IntelliJ IDEA można zobaczyć wyniki wielu operacji wyszukiwania jednocześnie?
- 9. Jak mogę zobaczyć błąd strony w jMeter?
- 10. QtCreator importowanie projektów makefile
- 11. Jak mogę sprawdzić, czy jeden obiekt gry może zobaczyć inny?
- 12. Czy mogę zobaczyć, jakie polecenia wykonuje git-gui?
- 13. Jak mogę zobaczyć numer kodu błędu kompilacji w widoku listy błędów programu Visual Studio?
- 14. Jak mogę zobaczyć opóźnioną kolejkę zadań?
- 15. Jak mogę zobaczyć surowe SQL wygenerowane dla Ecto.Query?
- 16. Jak mogę zobaczyć nieprzetworzone zapytania SQL Django?
- 17. Czy można zobaczyć kod ruby w proc?
- 18. Jak mogę zobaczyć łańcuch prototypów obiektu JavaScript?
- 19. Debugowanie w bibliotekach zewnętrznych w QtCreator
- 20. Jak skonfigurować hierarchię projektu w QtCreator?
- 21. Jak mogę zobaczyć konkretną wartość modułu sql_mode?
- 22. Jak mogę zobaczyć moje lokalne nieprzerwane zatwierdzenia?
- 23. Jak mogę zobaczyć zawartość żądania MultipartForm?
- 24. QtCreator brak konfiguracji debuggera (Windows)
- 25. Zmiana stylu kodowania klamrowego w QtCreator
- 26. Obsługa C++ 14 w QtCreator z Clang
- 27. QTCreator: Użyj projektu qt w innym
- 28. Gdzie QtCreator zapisze swoje ustawienia?
- 29. Jak mogę zobaczyć, co jest w mojej stercie w Javie?
- 30. Jak mogę zobaczyć liczbę wycofań w moim STM w Clojure?
w Linuksie mam doświadczenie, że pokazane są wszystkie dane wyjściowe konsoli, tylko w systemie Windows qDebug będzie konsekwentnie pokazywał się w oknie. – rubenvb
Jeśli twój program drukuje dużo danych wyjściowych w qtcreator, będzie zawieszony przez długi czas po zabiciu lub opuszczeniu celu debuggera. Niektóre algorytmy asynchroniczne w interfejsie qtcreatora powodują wzrost wykładniczy czasu realizacji w oparciu o liczbę linii wyjściowych. Tak było przez lata. – doug65536
Nie wierz w to? Spróbuj 'int main() {while (1) std :: cout <<" Test "<< std :: endl; } ', pozwól, aby to działało przez kilka minut, i próbuj włamać się lub zabić program. YMMV. – doug65536