6
votes

iostream: aucun fichier ou répertoire de ce type

Je travaille avec QT Creator sur Windows Vista. J'essaie de compiler un code très simple "CPPP" qui inclut la bibliothèque C ++ standard "iostream", comme celle-ci: xxx

Le problème vient même avant de compiler le code, il vient quand qt met en évidence la bibliothèque et me reconnaît que (iostream: aucun fichier ou répertoire de ce type).

Cela fonctionnait bien il y a quelques jours, puis j'ai installé VS-Express-2012 que je désinstalle ensuite parce que, surprenant, il ne fonctionne pas avec Windows Vista. Immédiatement après la suppression de VS-2012, les bibliothèques C ++ ne sont plus vues par QT Creator.

Notez que je peux toujours compiler et exécuter mes précédents codes écrits par console de ligne de commande, ce qui signifie que les bibliothèques C ++ n'ont pas été supprimées avec la suppression de VS-2012 !!. De plus, tous mes codes précédents (dans d'anciens projets créés à l'aide du même QT) n'ont pas de problème de ce type (c.-à-d. QT identifie et voit les bibliothèques standard), et je peux toujours les compiler et les exécuter normalement en utilisant QT Creator, même lorsque Je crée un nouveau fichier ".cpp" dans ces anciens projets:

Entrez la description de l'image ici

.. Cependant, lorsque je crée un nouveau fichier "CPPP" dans un projet totalement nouveau, les bibliothèques disparaissent et un lien est manquant:

 Entrez la description de l'image ici

.. (Je ne veux pas m'habituer à réinstaller QT chaque fois que j'ai Un problème similaire avec le compilateur, je voudrais comprendre pourquoi cela se passe en premier lieu)

Donc, qu'est-ce que QT recherche exactement (ou où je devrais regarder?), Merci


11 commentaires

Compilez-t-il lors de la compilation de QT Creator?


@sftrabbit: Non, je ne peux pas le compiler .. Outre les boutons de course et de débogage sont à la fois inactifs


Cela me semble que la désinstallation de Visual Studio a pris vos outils d'outils C ++. Vous voudrez peut-être réinstaller votre SDK QT.


Vous pouvez vérifier les options de QT Creator quelle version de Qt est utilisée. Vous devez le vérifier et / ou passer à une autre version que vous avez sur votre ordinateur. Vous pouvez également réinstaller QT.


@Synxis: ma version de Creator Qt est 2.6.2 (basée sur Qt 5.0.1), mais je peux la lire à partir de mon aidateur de créateur QT Cela signifie qu'il est déjà vérifié, n'est-ce pas?


"Outils-> Options-> Construction & Run-> compilateurs" - Y a-t-il un compilateur correct?


@Amartel: Le compilateur est "Mingw 4.7 32bit Mingw" qui est "détecté automatiquement" ..


Qu'en est-il des kits? Y a-t-il plus d'un? Lequel est utilisé pour construire votre nouveau projet et lequel est utilisé pour la construction des anciens? Essayez de comparer vos paramètres anciens et nouveaux projets. Vous pouvez également essayer un petit test - Ouvrez CMD dans votre répertoire de votre projet et tapez "qmake & make". Si elle construit votre projet - le problème est dans QTCreator, sinon - le plus probable enlever VS cassé quelques sentiers importants - incluez, ou des libs ...


@Amartel: Les kits indiquent: "Desktop Qt 5.0.1 Mingw 32bit (par défaut)" .. tout entre l'ancien et le nouveau projet semble identique .. J'ai tapé "qmake & make" dans cmd et la sortie de retour est: (QMake est Non reconnu comme une commande interne ou externe, un programme opérable ou un fichier de commandes. Faites: *** Aucune cible spécifiée et pas de maquillage trouvé. Arrêtez-vous.) Alors, qu'est-ce que cette déclaration signifie? Et si les chemins sont cassés, où sont-ils exactement? et comment mettre les bons chemins (parce que je ne vois pas où je peux le faire dans Qt, sauf si vous voulez dire dans la "variable d'environnement")


Pour exécuter QMake in CMD, il vous suffit d'ajouter du chemin à qmake.exe à votre système chemin variable d'environnement. Malheureusement, ce n'est pas la question. Si votre projet ne construira pas de CMD, j'ai bien peur, je ne sais pas comment le réparer, sauf réinstallation de Qt SDK.


Sur la capture d'écran QtCreator omet de trouver , avez-vous essayé ? Les en-têtes de bibliothèque standard C ++ n'ont pas .h à la fin.


3 Réponses :


0
votes

ouvrir d'abord dans Qt Creator votre fichier de projet (".pro") et ajouter la ligne suivante: xxx

puis essayez d'utiliser #include Votre code

pour moi includepath est / usr / include / c ++ / 4.7.3 /


0 commentaires

3
votes

Vous n'avez pas besoin de réinstaller QT Creator. Si vous souhaitez l'utiliser pour exécuter le code source C ++, vous devez d'abord créer un fichier de projet. Faire comme suit:

Fichier -> Nouveau fichier ou projet -> Projet non-QT -> Application plaine C ++;

Pour que vous créiez un fichier .pro. Ensuite, QT Creator sera en mesure de trouver des fichiers de bibliothèque et similaires. Voir https://stackoverflow.com/a/9613956/5383964 pour une explication détaillée.


1 commentaires

J'ai fait la même chose. Même #include écrit automatiquement, il affiche "iostream: aucun message de fichier ou de répertoire de ce type avec soulignement de cette ligne. Mais je peux compiler et exécuter ma demande.



0
votes

Ce problème nous s'est produit juste après l'installation de QT, à l'aide d'un programme d'installation d'une version supposée être utilisé avec .NET Compiler. L'installation .NET n'a pas été complète: la fonctionnalité de développement C ++ n'a pas été installée. Nous avons terminé l'installation .NET, redémarré QT et le problème ont été désactivés: QT a automatiquement détecté le programme de compilateur nouvellement installé et a été trouvé. Notez qu'avec certaines machines, nous devions démarrer Qt en tant qu'administrateur afin de faire ce travail.


0 commentaires