【问题标题】:Getting fatal error for iostreamiostream 出现致命错误
【发布时间】:2013-01-20 06:36:53
【问题描述】:

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

" clang -cc1 -load ../../Debug+Asserts/lib/libPrintFunctionNames.so -plugin print-fns some-input-file.c "

它给了我 1 个致命错误:

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

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

我试过了:

'clang++ -I//usr/include/c++/4.6 -cc1 -load ../../../../Release+Asserts/lib/libPrintFunctionNames.so -plugin 打印-fns ak.cpp '

那么我该如何做呢?

【问题讨论】:

    标签: c++ llvm clang


    【解决方案1】:

    不要在末尾添加 .h。

    #include <iostream>
    

    这应该可以解决它。

    【讨论】:

      【解决方案2】:

      iostream 属于 C++ 而不是 C。所以你应该把它包含为

      #include <iostream>
      

      此外,由于您使用 C++ 编程,因此您应该将源文件命名为以 .cpp 而不是 .c 结尾,以使编译器和其他所有人清楚您想要使用 C++。此外,您可能需要在第一次编译器调用中调用 clang++(但我不确定在插件的上下文中)

      【讨论】:

        【解决方案3】:

        C++语言被ISO标准化后,将名为iostream.h的头文件重命名为iostream。将您的程序更改为使用#include &lt;iostream&gt;,它应该可以编译。

        您还需要在每个包含后添加 using namespace std; 语句(或在每个对 iostream 函数/对象的引用前加上 std::)。

        你可以从这个开始

        #include <iostream>
        using namespace std;
        

        一旦您对命名空间更加熟悉,您可以删除 using 语句并改为使用 std::coutstd::cin 等或使用

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

        等等

        【讨论】:

          【解决方案4】:

          我遇到了同样的问题,

          • 模板.cpp
          g++ template.cpp
          
          compare<int>com1(3,7);
          
          1. 列表项
          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+table打法。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-04-16
            • 2019-06-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-08-02
            • 2018-02-16
            相关资源
            最近更新 更多