我正在尝试编译非常简单的 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
-t
和d
是相反的。