11
votes

Puis-je voir la sortie du programme dans QT-Creator?

J'écris un programme simple OpenGL avec QT Creator, qui crée essentiellement un Qglwidget, le montre et exécute la boucle d'application. J'aime généralement le débogage avec des messages de diagnostic activés et désactivés par des symboles de préprocesseur qui utilisent un débogueur et des montres réels, etc. Dans Qt Creator, nous avons un onglet appelé Sortie d'applications , mais tout ce que je vois qu'il y a "Démarrer xxx.exe. Xxx.exe est sorti avec code 0". aucune sortie de std :: cout ou std :: cerr . Maintenant, je sais que je pouvais commencer mon application à partir de cmd.exe (oui, j'utilise Windows, j'adore-la: p) et voir la sortie là-bas mais j'aimerais pouvoir voir la sortie directement de l'IDE. Est-ce possible? Merci


0 commentaires

5 Réponses :


11
votes

Habituellement, le volet fonctionne fonctionne bien. Êtes-vous sûr que vous verriez la sortie de cmd.exe (avez-vous réellement essayé?)? Il est généralement désactivé pour les applications d'interface utilisateur afin d'éviter les fenêtres de la console de sauter. Essayez config + = console . Vérifiez également si vous voyez qdebug () messages dans la sortie application .


3 commentaires

À Linux, j'ai l'expérience que toutes les sorties de la console sont affichées, sous Windows Seul Qdebug apparaîtra systématiquement dans la fenêtre.


Si votre programme imprime beaucoup de sortie dans QTCreator, il sera suspendu pendant de longues périodes après avoir tué ou sortira la cible de débogueur. Certains algorithmes asinés dans l'interface utilisateur de QtCreator provoquent une augmentation de temps d'exécution exponentielle en fonction du nombre de lignes de production. Cela a été comme ça depuis des années.


Ne crois pas ça? Essayez int main () {tandis (1) std :: COUT << "test" << std :: endl; } , que cela fonctionne pendant quelques minutes et essayez de vous briser ou de tuer le programme. Ymmv.



4
votes

Alternativement, vous pouvez vérifier la réglage "Exécuter dans la console" dans les options du projet-> Exécuter. Cela ouvrira une nouvelle fenêtre de console et affichera toutes les émissions de la console (si config + = console est utilisé bien sûr).


1 commentaires

Maintenant appelé "course dans le terminal"



6
votes

Tout simplement #include puis utilisez qdebug au lieu de cout comme xxx

aussi ceci fonctionne xxx > Ajouter config + = console dans le fichier .pro n'a pas fonctionné pour moi. Je me demande pourquoi?

Je viens de découvrir que je dois ajouter "endl;" Pour que COUT fonctionne comme xxx


0 commentaires

2
votes

essayer: Outils -> Options Sous l'onglet "Général" de "Environnement", changez l'entrée du terminal de: xxx

à xxx


0 commentaires

0
votes

Je sais que cette réponse ne répond pas à la question initiale, mais comme lors de la recherche de "Aucune sortie d'application", nous avons trouvé cette réponse ...

Voir la réponse suivante: https://stackoverflow.com/a/26325743/808101 Ceci s'applique uniquement à Qdebug () et des fonctions similaires (sans sortie directe sur stdout / stardr). Dans mon cas, je dois définir qt_assume_sderr_has_console variable d'environnement à 1 dans qtcreator afin de voir qdebug () les messages à l'intérieur de la fenêtre "Application Sortie".


0 commentaires