2011-09-01 2 views
3

Ce n'est pas un programme bizarre. C'est un simple programme C++ Hello World, et pour une raison quelconque, il n'y a pas de sortie vers le terminal, que ce soit dans le terminal ou dans la fenêtre de sortie. Voici mon "code".Le programme NetBeans C++ n'a pas de sortie de terminal

#include <cstdlib> 
#include <iostream> 

using namespace std; 

int main(int argc, char** argv) { 
    cout << "Hello there peeps!"; 
    cout << endl; 
    system("pause"); 
    return 0; 
} 

En utilisant Netbeans 6.9 sur Ubuntu 11.04 Natty

+0

Est-ce que la construction du code montre des erreurs? – arunkumar

+0

Non. Pas d'erreurs – avatarmonkeykirby

+0

Est-il en cours de compilation en 64 bits? Je me souviens qu'il y a eu un bug il y a quelques temps avec des programmes 64 bits compilés et des sorties dans Netbeans. –

Répondre

1

Essayez d'installer xterm, qui a fonctionné pour moi. (Sur fedora 18, mais Ubuntu devrait être similaire)

sudo apt-get install xterm 

ou

sudo yum install xterm 
+0

Bonne réponse. Notez également qu'il est actuellement nécessaire de redémarrer Netbeans ** pour que cela prenne effet. – DragonLord

1

Vous pouvez essayer ceci:

Project properties -> Run -> Console Type et sélectionnez Standard Output là.

Si ceci est déjà sélectionné, tester avec Internal Terminal.

+1

Avait ce problème sur Lubuntu 14.04 avec NetBeans 8.0.2 et JRE 1.7.0_75, OpenJDK. Votre suggestion l'a corrigé, merci! Pourriez-vous élaborer ce qui est différent entre les deux? Je n'étais même pas au courant de cette fonctionnalité, j'ai supposé que NetBeans utilisait déjà stdout. – Nobilis

+1

Je suppose que le terminal interne est une version implémentée (java/netbeans?) Qui ne videra pas correctement. Habituellement comme une autre solution de contournement: exécutez avec le débogueur - cela fonctionne souvent aussi. Donc, je suppose que le terminal interne utilise le flux d'erreur en mode débogage (vidage automatique) et le flux sortant si le fonctionnement normal (pas correctement vidé?). Peut-être que la sortie * standard utilise directement stdout/stderr ou s'exécute comme un processus natif et affiche sa sortie. Mais tout cela n'est qu'une spéculation. – ollo

+0

Je me demande si cela concerne aussi l'utilisation de threads, car je compilais un programme en C++ qui utilise des threads qui étaient déjà en mode debug. Avant cela, je n'avais pas remarqué de problèmes. Je me demande pourquoi ils ont dû utiliser un terminal interne et ne pouvaient pas simplement réutiliser 'stdout'. – Nobilis

Questions connexes