g++ 找不到 cstdlib(致命错误:cstdlib:没有此文件或目录)

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

(/usr/include/c++ 中仅包含 5 和 5.4.0 目录)

因此我也尝试过

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 替换,则会发生同样的情况)。

我还安装了 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++ 方面的经验非常少。

任何帮助都将不胜感激。如果它们有用,我很乐意提供任何进一步的详细信息。

答案1

您的程序中的包含名称拼写错误。您拼错了csdtlib,而它应该是cstdlib-td是相反的。

相关内容