關於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++
- #include <iostream>
- usingnamespace std;
- int main(void)
- {
- cout<<"Hello World!\n";
- return 0;
- }
使用命令
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++起來了。。。