iostream出现致命错误

Getting fatal error for iostream

本文关键字:致命错误 iostream      更新时间:2023-10-16

我想编写一个简单的clang插件。所以我只是执行了llvm-clang中提供的"PrintFunctionNames"插件。但是当我尝试执行命令时:

" clang -cc1 -load ./../Debug+ assert/lib/libPrintFunctionNames.so .

它给了我一个致命错误:

fatal error: 'iostream.h' file not found
#include<iostream.h>
        ^
1 error generated.

我也尝试使用-I选项为'iostream'的包含目录提供路径,但它仍然给我同样的错误。

我试过了:

'clang++ -I//usr/include/c++/4.6 -cc1 -load../../../../+断言/lib/libPrintFunctionNames发布。因此,插件Print-fns ak.cp '

那么我该怎么做呢?

不要在结尾加上。h。

#include <iostream>

应该可以解决它。

iostream属于c++而不是C,所以你应该把它包含在

#include <iostream>

另外,因为你是用c++编程的,你应该以。cpp而不是。C来命名你的源文件,让编译器和其他人清楚地知道你想用c++。此外,您可能需要在第一次编译器调用中调用clang++(但我不确定在插件上下文中)

c++语言被ISO标准化后,头文件iostream.h被重命名为iostream。把你的程序改为使用#include <iostream>,它应该可以编译了。

你还需要在每个include语句之后添加using namespace std;语句(或者在对iostream函数/对象的每个引用前面加上std::)。

你可以从

开始
#include <iostream>
using namespace std;

一旦熟悉了名称空间,就可以删除using语句&而是使用std::cout, std::cin等或有一个

using std::cout;
using std::cin;

等。

我也遇到过同样的问题,

  • template.cpp
g++ template.cpp
compare<int>com1(3,7);
    列表项
compare<double>com2(12.34,56.78); 
compare<char>com3('a','x'); 
cout<<",the max value:"<<com1.max()<<endl;   
cout<<",the max value:"<<com2.max()<<endl;
cout<<",the max value:"<<com3.max()<<endl;
return  0;

问题是上代码段组合不OK,下次使用shift +表输入

相关文章: