Comme le titre suggère, je rencontre un problème plutôt étrange. Lorsque j'essaie de compiler un code source d'échantillon (qui utilise libotb), je continue à obtenir des erreurs comme celle du titre. Ce qui est étrange est que D'autre part Si j'explète le code dudit fichier et créez une source distincte et compilez-la avec Comme indiqué dans les commentaires ci-dessous, ce problème se produit avec simplement p> #include
g ++
g ++ -i
4 Réponses :
Vérifiez que votre inclut toutes les espaces de noms fermés - votre include peut être déclarée accidentellement dans un espace de noms si une en-tête précédente n'a pas fermé ses espaces de noms. P>
Vous pouvez également tenter de localiser ce problème en déplaçant le STD inclus plus tôt dans la liste INCLUS. P>
#include <ostream> should fix it. Under C++11, #include <iostream> is supposed to pull in all of <ostream>, but prior to C++11 you had to do the individual #includes.
Il devrait être: p>
int Principal () P>
Si vous êtes un programmeur Arduino, n'oubliez pas que Arduino n'en a pas
Construction normale «Ostream».
Mais il y a des bibliothèques offrant des fonctions similaires. P>
ps. Gardez à l'esprit qu'il ya de bonnes raisons que le type de streaming ne soit pas inclus. P>
Donc quelle est la question? Certains code que nous n'avons pas vus contiennent une erreur. Il n'y a pas grand chose que nous pouvons faire à ce sujet
Avez-vous utilisé
à l'aide de nomspace std code> ou
std :: code> préfixes?
@jalf: Le code a-t-il une pertinence?
@ARLGRAY: Je l'ai réduit à
#include int Main () {std :: cerr << "test"; retour 0; } code>
Cette réponse pourrait être utile pour vérifier que vous avez réellement inclus les en-têtes prévus lors de la modification du chemin Inclure (G ++ -H) Stackoverflow.com/a / 6685693/104774
Regardez "" et voyez quels horizons sont là-là - je suis d'accord avec Stefaanv qui examinant ce que l'utilisation de l'actamly utilisée est votre meilleure voie à suivre ...
Peut-être que
path_to_libotb_headers code> mène à un en-tête appelé
iostream code> de sorte qu'on soit ramassé?
@Danielelfischer: Pour une certaine raison, il semble qu'il y ait effectivement un fichier appelé iostream, mais cela n'a pas traversé l'esprit et que le fait qu'il y avait presque 2 000 fichiers dans ce dossier, je ne l'ai pas repéré.
Ajouter
-H code> aux arguments GCC ou G ++ pour imprimer des chemins vers tous les fichiers d'en-tête utilisés. Regardez à travers la liste pour repérer des problèmes évidents, comme
iostream code> pas dans le chemin standard.