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 forte>, mais tout ce que je vois qu'il y a "Démarrer xxx.exe. Xxx.exe est sorti avec code 0". Em> aucune sortie de std :: cout code> ou
std :: cerr code>. 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 p>
5 Réponses :
Habituellement, le volet em> fonctionne fonctionne bien. Êtes-vous sûr que vous verriez la sortie de cmd.exe kbd> (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 code>. Vérifiez également si vous voyez qdebug () messages em> dans la sortie application em>. P>
À 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; } code>, que cela fonctionne pendant quelques minutes et essayez de vous briser ou de tuer le programme. Ymmv.
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 code> est utilisé bien sûr). P>
Maintenant appelé "course dans le terminal"
Tout simplement aussi ceci fonctionne p> Je viens de découvrir que je dois ajouter "endl;" Pour que COUT fonctionne comme p> #include
qdebug code> au lieu de
cout code> comme
config + = console code> dans le fichier .pro n'a pas fonctionné pour moi. Je me demande pourquoi? P>
essayer:
Outils -> Options
Sous l'onglet "Général" de "Environnement", changez l'entrée du terminal de: à p>
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 ... p>
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 code> variable d'environnement à
1 code> dans qtcreator afin de voir qdebug () les messages à l'intérieur de la fenêtre "Application Sortie". P>