IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

include <iostream> sur NetBeans LINUX


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut include <iostream> sur NetBeans LINUX
    Bonjour !

    Je compile le sdk 2.0 de ARDrone avec NetBeans sur LINUX. Je veux y inclure la gestion des ports série pour récupérer les coordonées GPS d'un module XBee. Pour cela, j'ai écris un programme qui fonctionne utilisant les fonctions de base open(...) et read(...) de iostream.h. Ce programme fonctionne avec le compilateur Monodevelop, mais quand je l'inclut dans le projet ARDrone sur NetBeans, la compilation donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur fatale: iostream : Aucun fichier ou dossier de ce type
    qui fait référence à la ligne J'ai testé en écriant <iostream.h> au lieu de <iostream>. J'ai vérifié que le fichier iostream existait dans le système et il y ait dans les chemins suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /usr/include/c++/4.6
    /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++
    /usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/include/c++/backward
    Et j'ai rentré dans File/Project properties/Code assistance/C et C++ Compiler les chemins précédents, et aussi dans Tool/option/C-C++/Code assistance

    Seulement, je ne sais pas vraiment quel chemin des trois est le plus adapté. Aussi, la bibliothèque ARDrone est écrite en C, et mon programme de gestion des ports séries est écrit en C++, y'a t-il un conflit ? Un compiler C++ sait compiler du C ?

    Merci d'avance pour vos réponses !

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut
    J'ai essayé en écrivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #ifdef _c
    extern "Cpp"
    {
    	#endif
    	#include <iostream>
    	#ifdef
    }
    #endif _c
    Mais ça ne fonctionne toujours pas ...

    Personne ?

  3. #3
    Membre chevronné
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Par défaut
    Je ne connais pas du tout NetBeans, mais une possibilité c'est que le compilateur invoqué soit un compilateur C, et non C++. Auquel cas, il pourrait ne pas trouver iostream.
    Que se passe-t-il si, dans la première ligne de ton fichier source, bien avant le #include <iostream>, tu mets ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #ifndef __cplusplus
    #error A C++ compiler is required!
    #endif
    ????

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut
    Salut !

    Il me sort l'erreur que tu as écrite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur: #error A C++ compiler is required!
    et l'erreur que j'avais avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur fatale: iostream : Aucun fichier ou dossier de ce type

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    donc ton compilateur est bien un compilateur C.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut
    Ok et donc je ne peux pas utiliser la librairie iostream ?

    Quelle alternative alors ?

  7. #7
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,
    En C on utilisera stdio.h
    Tu pourras lire et écrire avec read et write ou ouvrir ton descripteur de fichier avec fdopen pour utiliser fread, fwrite, fprintf, fscanf etc...

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut
    Ok merci.

    C'est parti pour que je réécrive mon programme en C ...

  9. #9
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Sinon tu dois aussi pouvoir configurer netbeans pour qu’il utilise un compilateur c++…

  10. #10
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 636
    Par défaut
    Salut,
    Citation Envoyé par white_tentacle Voir le message
    Sinon tu dois aussi pouvoir configurer netbeans pour qu’il utilise un compilateur c++…
    Comme je présume (peut etre à tord, note) que ton projet est écrit en C++, ce serait sans doute en effet la solution la plus facile.

    Je ne connais pas du tout NetBeans, mais je présumes que, comme dans tout EDI digne de ce nom, il doit y avoir moyen de régler les options du projet, et que, parmi celles-ci, tu dois pouvoir définir les outils à utiliser (compilateur et autres).

    Il "devrait suffire" de trouver l'option relative au compilateur, et de remplacer gcc (qui utilise par défaut le compilateur C) par g++, qui est le "front end" pour le compilateur C++, sans oublier d'indiquer d'utiliser de préférence g++ comme éditeur de liens au lieu de (sans doute) ld
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #11
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Petit rappel, il vise un SDK, je suppose pour une plateforme embarquée. Plusieurs possibilités:
    1. le SDK a un compilateur C++ avec une lib standard qui a tout ce dont il a besoin, ce n'est qu'un problème de configuration
    2. le SDK a un compilateur C++ avec une lib réduite, il peut utiliser du C++ mais doit réécrire ce qui utilise des choses pas fournie ou écrire ou adapter une implémentation de ce dont il a besoin
    3. le SDK n'a pas de compilateur C++, il doit passer à un langage qui est fournit


    Dans les 2ième et 3ième cas, il peut y avoir aussi un problème de configuration.

Discussions similaires

  1. Qt5 sur NetBeans et Linux
    Par TimotheeG dans le forum Débuter
    Réponses: 0
    Dernier message: 08/06/2013, 19h55
  2. Réponses: 0
    Dernier message: 04/08/2009, 18h46
  3. Debugger graphique pour C sur GNU/Linux
    Par stephane eyskens dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 20/08/2006, 12h15
  4. [netbeans][Linux] Nombre de lignes de codes
    Par sylvain_neus dans le forum NetBeans
    Réponses: 5
    Dernier message: 13/08/2004, 10h09
  5. Des questions sur suse linux !
    Par barucca dans le forum SUSE
    Réponses: 3
    Dernier message: 07/04/2004, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo