web-dev-qa-db-fra.com

g ++ ne peut pas trouver cstdlib (erreur fatale: cstdlib: aucun fichier ou répertoire de ce type)

J'essaie de compiler le très simple programme c ++

//Programm, um Celcius in Fahrenheit umzurechnen
// F=C*(212-32)/100+32
#include <cstdio>
#include <csdtlib>
#include <iostream>

using namespace std;

int main(int numberofArgs, char*pszArgs[])
{
//Temperatur in C eingeben
int celcius;
cout<<"Geben Sie die Temperatur in Celcius ein: ";
cin>>celcius;

//Umrechnungsfaktor Berechnen
int factor;
factor=(212-32)/100;

//Umrechnen
int Fahrenheit;
Fahrenheit=celcius*factor-32;

//Ergebnis und Zeilenumbruch ausgeben
cout<<"entspricht in Fahrenheit: ";
cout<<Fahrenheit<<endl;

//Warte bis Benutzer Ergebnis gelesen hat und Programm beendet
system("PAUSE");
return 0;
}

après avoir tapé

g++ TestConversion.cpp -o conversion

dans le terminal, il retourne

TestConversion.cpp:4:19: fatal error: csdtlib: No such file or directory
compilation terminated.

dans mon système, cstdlib peut être trouvé dans

/usr/include/c++/5

et en

/usr/include/c++/5.4.0

(5 et 5.4.0 sont les seuls répertoires contenus dans/usr/include/c ++)

donc j'ai aussi essayé

g++ -I /usr/include/c++/5 TestConversion.cpp -o conversion

et

g++ -I /usr/include/c++/5.4.0 TestConversion.cpp -o conversion

ce qui conduit au même résultat que ci-dessus. J'ai aussi essayé

g++ -I /usr/include/c++/5.4.0/cstdlib  TestConversion.cpp -o conversion

ce qui n'a probablement aucun sens, puisque le résultat a été

cc1plus: warning: /usr/include/c++/5.4.0/cstdlib: not a directory
TestConversion.cpp:4:19: fatal error: csdtlib: No such file or directory
compilation terminated

(avec le même événement arrivé si 5.4.0 est remplacé par 5).

J'ai également installé Clang pour vérifier si je pouvais compiler le programme avec, mais j'avais le même problème. La commande

clang TestConversion.cpp -o conversion

produit

TestConversion.cpp:4:10: fatal error: 'csdtlib' file not found
#include <csdtlib>
         ^
1 error generated.

J'ai déjà réinstallé g ++ et multilib.

J'utilise Ubuntu 16.04 et j'ai, comme cela est peut-être devenu évident, très peu d'expérience de la programmation et de gcc/g ++.

Toute aide serait grandement appréciée. Je vous fournirai volontiers des détails supplémentaires s'ils sont utiles.

2
Santiago LP

Vous avez mal orthographié le nom d'inclusion dans votre programme. Vous avez csdtlib et il devrait s'agir de cstdlib - les t et d sont inversés.

0
Charles Green