web-dev-qa-db-ja.com

g ++はcstdlibを見つけることができません(致命的なエラー:cstdlib:そのようなファイルまたはディレクトリはありません)

非常に単純な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;
}

入力後

g++ TestConversion.cpp -o conversion

ターミナルでは、それは戻ります

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

私のシステムでは、cstdlibは

/usr/include/c++/5

そして

/usr/include/c++/5.4.0

(5および5.4.0は/ usr/include/c ++に含まれる唯一のディレクトリです)

したがって、私も試しました

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

そして

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

上記と同じ結果につながります。私も試しました

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

結果はおそらく

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

(5.4.0が5に置き換えられると、smeが発生します)。

また、clangをインストールしてプログラムをコンパイルできるかどうかを確認しましたが、同じ問題がありました。コマンド

clang TestConversion.cpp -o conversion

生産された

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

私はすでにg ++とmultilibを再インストールしました。

私はubuntu 16.04を使用していますが、明らかになったかもしれませんが、プログラミングとgcc/g ++の経験はほとんどありません。

どんな助けも大歓迎です。役に立つ場合は、詳細をお知らせします。

2
Santiago LP

プログラムのインクルード名のつづりが間違っています。 csdtlibがあり、cstdlibである必要があります-tdは逆になっています。

0
Charles Green