1. 程式人生 > >關於codeblocks 的程式中編譯出現對於iostream, no such file or directory

關於codeblocks 的程式中編譯出現對於iostream, no such file or directory

當我們將.cpp 檔案 誤設為.c 檔案的時候, 就會出現上述編譯報錯資訊。

解決辦法是刪除這個檔案, 重新建立.cpp檔案。

另外,還有如下情況。

其實 <iostream.h>是c風格的,可用,但注意格式:
要麼是:
#include <iostream>
using namespace std;
要麼是:
#include <iostream.h>
注意,這時是不能用using namespace std;這句話的,否則會出現你遇到的問題.

在標準C++裡面,是不用#include <iostream.h>這種形式了,而要使用#include <iostream>

在VC6是在C++標準出來前釋出的,所以它可以使用#include <iostream.h>這形式.

===注:如果在VS中VC的include資料夾中iostream檔案不是.h的副檔名,最好是用第一種形式


另外在code::blocks, 我設定的編譯器是gc++

  1. #include <iostream>
  2. usingnamespace std;  
  3. int main(void)   
  4. {  
  5.   cout<<"Hello World!\n";  
  6.   return 0;  
  7. }  

使用命令

gcc -o test test.c

test.c:1:20: iostream: No such file or directory

杯具啊,gcc是c的編譯器,g++才有c++的iostream

參考:http://www.linuxquestions.org/questions/linux-software-2/gcc-error-iostream-no-such-file-or-directory-641330/

-------------------------------------------------------------------------

錯誤2:

undefined reference to `std::cout'等錯誤

原因

(1)gcc和g++都是GNU(組織)的一個編譯器。

(2)字尾名為.c的程式和.cpp的程式g++都會當成是c++的源程式來處理。而gcc不然,gcc會把.c的程式處理成c程式。

(3)對於.cpp的程式,編譯可以用gcc/g++,而連結可以用g++或者gcc -lstdc++。

總之,老拿gcc程式設計c++起來了。。。