Forum Programmation.c++ PB DE COMPILATION - RECHERCHE BIBLIOTHEQUES

Posté par  .
Étiquettes : aucune
0
5
sept.
2005
Bonjour aux programmeurs,

Nouveau sous C++/linux/Mandriva LE2005, j'ai copié le source suivant :

#include<iostream.h>
#include<stdio.h>
#include<math.h>

int main (int argc , char * argv [])
{
int d1,d2,deltat;
cout <<"--------------------------------"<< endl;
cout << "Valeur de D1:<<endl;
cin >>d1;
cout << "Valeur de D2:"<<endl;
cin >>d2;
cout <<"le decrement logarithmique du signal est de :<<endl;
cout <<2.3*log(d1/d2)<<endl;
return 0;

}

pardon pour les caractères spéciaux -je n'arrive pas à les transcrire, je vais regarder comment vous faites, promis- mais ce sont les signes inférieurs et supérieurs), le code a déjà fonctionné dans le passé.
gcc refuse de compiler et m'indique "iostream.h : no such file or directory. Or ce fichier existe dans usr/include/c++/3.4.3/backward.
J'ai alors copié iostream.h dans mon répertoire home
et j'ai inséré un "export path" dans mon fichier de config .bash_profile (dans /home)
Mais cela ne marche pas mieux.
Savez-vous pourquoi ? Merci d'avance pour votre aide car je suis bloqué...
  • # idée

    Posté par  . Évalué à 3.

    et quelle ligne tu tape pour compiler ton prog ?
    Il faudrait faire un truc du genre :
    g++ toto.cpp -I /usr/include/c++/3.4.3/backward

    Sinon essaie de remplacer
    #include <iostream.h>
    par
    #include
    using namespace std;

    Bon courage
    • [^] # Re: idée

      Posté par  (site web personnel) . Évalué à 6.

      #include <iostream>
      using namespace std;

      car iostream.h, c'est vieux et pas bien
      • [^] # Re: idée

        Posté par  (site web personnel) . Évalué à 1.

        Et stdio.h ici ne sert à rien (rarement (/jamais?) utile en même temps que les IOStreams), et math.h devrait devenir <cmath>
    • [^] # Re: idée

      Posté par  . Évalué à 1.

      Bon, l'idée de l'include je l'ai déjà utilisée. Par contre, j'avais compilé style :

      gcc essai1.c

      et il ne prenait pas cette bibliothèque semble-t-il. C'est normal puisqu'elle est du type c++.

      Néanmoins, la personne qui m'a donné le code, a explicitement indiqué la ligne de commande avec gcc.

      Ma question -surement élémentaire - est alors :

      Est-ce que gcc contient g++ ??????

      Mais je vais voir aussi l'ouvrage de Blaess sur C++

      Cordialement
      • [^] # GCC, gcc et g++

        Posté par  (site web personnel) . Évalué à 1.

        Pas exactement. De ce que j'ai vaguement compris, pour linker avec gcc, il te faudra rajouter une option (bibliothèque C++) pour lier avec du C++.
        Utiliser g++ directement est bien plus simple.
        • [^] # Re: GCC, gcc et g++

          Posté par  . Évalué à 1.

          Oui c'est ce que j'ai fait, et ça marche. Il généère un .out, qui fonctionne. Par contre, je ne trouve pas les fichiers objets. Bon j'y retourne, cela ne doit pas être trop difficile.

          Si tu as un tuyau la-dessus, merci d'avance.
          • [^] # Re: GCC, gcc et g++

            Posté par  (site web personnel) . Évalué à 1.

            man make/aap/scons/bjam ?

            Ces choses sont gérées par les outils qui s'occupent des chaines de compilation. Typiquement, ils font appel à cc/CC/gcc/g++/... avec l'option -c qui demande à produire des fichiers objets. Quant à l'édition de liens, cela se fait en rassemblant les .o (et non en compilant tous les .c/.C/.cpp/...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.