C ++ kaynak kodu nasıl derlenir (“iostream.h bulunamadı” hatası)?

18

Ben C ++ veya herhangi bir programlama dili hakkında konuşmak istemiyorum! Sadece helloworld.cpp derleme hakkında linux ubuntu ile yanlış ne yapıyorum bilmek istiyorum!

C ++ öğreniyorum, bu yüzden adımlarım:

vim’de hello.cpp’yi açın ve bunu yazın

#include <iostream.h>
int main()
{
    cout << "Hello World!\n";'
    return 0;
}

Öyleyse bundan sonra terminalde denedim

g++ hello.cpp

VE çıktı

hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.

Ne önerirsin? Benim için adım adım yararlı herhangi bir adım? Teşekkürler!

    
sordu gabriel 03.05.2012 15:44

2 cevap

40

#include <iostream> , iostream.h değerini kullanmalısınız; .h formu çok eskidir ve yıllardan beri kullanımdan kaldırılmıştır.

Muhtemelen .h ile non- .h arasındaki formları buradan bilmek istediğinizden daha fazlasını okuyabilirsiniz: İşte

(Ayrıca, std::cout yazmalı veya using namespace std; satırına sahip olmalısınız, aksi halde bir sonraki hatanın derleyici cout için bir tanım bulmadığı ile ilgili olacaktır.)

    
verilen cevap Riccardo Murri 03.05.2012 15:53
14

iostream.h değerini iostream olarak değiştirmelisiniz. Aldığınızla aynı hatayı alıyordum, ancak iostream.h değerini iostream olarak değiştirdiğimde düzgün çalışıyordu. Belki senin için de çalışırdı.

Diğer bir deyişle, şunu söyleyen satırı değiştirin:

#include <iostream.h>

Bunun yerine şunu söyleyin:

#include <iostream>

Standartta tanımlandığı gibi C ++ standart kitaplık başlık dosyaları .h uzantısına sahip değil.

Riccardo Murri'nin cevabı 'ndan bahsedildiği gibi, cout ' yı tam adının% co_d% yüzdesiyle de çağırmanız gerekir. veya bu iki satırdan birine sahip olmalısınız (tercihen std::cout direktifinizin altında ancak diğer kodunuzun üstünde):

using namespace std;
using std::cout;

Özellikle de ciddi programlama projeleri için ikinci yol tercih edilir, çünkü #include ad alanında tüm isimleri getirmekten ziyade sadece std::cout değerini etkiler (bazıları programınızda kullanılan adlara potansiyel olarak müdahale edebilir) ).

    
verilen cevap Dhruv kaushik 26.09.2012 17:28

Etiketlerdeki diğer soruları oku